Update
diff --git a/Info.plist b/Info.plist
index 6f3b853..39c3151 100644
--- a/Info.plist
+++ b/Info.plist
@@ -8,7 +8,7 @@
      <key>CFBundleIdentifier</key>
      <string>me.nlohmann.json</string>
      <key>CFBundleVersion</key>
-     <string>2.0.1</string>
+     <string>2.0.2</string>
      <key>DocSetFeedName</key>
      <string>Doxygen generated docs</string>
      <key>DocSetPublisherIdentifier</key>
diff --git a/Nodes.xml b/Nodes.xml
index 04faf42..82f338b 100644
--- a/Nodes.xml
+++ b/Nodes.xml
@@ -695,8 +695,8 @@
                </Node>
                <Node>
                 <Name>basic_json</Name>
-                <Path>classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html</Path>
-                <Anchor>a9857835334d38ba04959e348ca6be208</Anchor>
+                <Path>classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html</Path>
+                <Anchor>a110eb65dc3e34e1cebd28a10218c6d70</Anchor>
                </Node>
                <Node>
                 <Name>basic_json</Name>
@@ -1100,18 +1100,18 @@
                </Node>
                <Node>
                 <Name>parse</Name>
-                <Path>classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html</Path>
-                <Anchor>a35303ad045a06c2a79dc28ac29652e86</Anchor>
+                <Path>classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html</Path>
+                <Anchor>a9a0b1acc13023170d2295eb512289080</Anchor>
                </Node>
                <Node>
                 <Name>parse</Name>
-                <Path>classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html</Path>
-                <Anchor>a13c4d2ab4e7ee2f92be785a7b12948ff</Anchor>
+                <Path>classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html</Path>
+                <Anchor>a0923f9749409345a21f8cb15ee95fc0d</Anchor>
                </Node>
                <Node>
                 <Name>parse</Name>
-                <Path>classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html</Path>
-                <Anchor>ab81f2801779e6cb9d98770860af2e39a</Anchor>
+                <Path>classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html</Path>
+                <Anchor>a959bc32fc72a76cd5a1bd6977926f787</Anchor>
                </Node>
                <Node>
                 <Name>patch</Name>
@@ -1204,6 +1204,16 @@
                 <Anchor>af071057ebab57744f5767eb369e99d42</Anchor>
                </Node>
                <Node>
+                <Name>value</Name>
+                <Path>classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html</Path>
+                <Anchor>a5010579996e483e46bec5653d983914d</Anchor>
+               </Node>
+               <Node>
+                <Name>value</Name>
+                <Path>classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html</Path>
+                <Anchor>a24bc3d5e7fc671a406cc521fbe58e736</Anchor>
+               </Node>
+               <Node>
                 <Name>operator!=</Name>
                 <Path>classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html</Path>
                 <Anchor>a6e2e21da48f5d9471716cd868a068327</Anchor>
diff --git a/Tokens.xml b/Tokens.xml
index c755d3c..57dfd79 100644
--- a/Tokens.xml
+++ b/Tokens.xml
@@ -526,8 +526,8 @@
       <Type>instm</Type>
       <Scope>nlohmann::basic_json</Scope>
     </TokenIdentifier>
-    <Path>classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html</Path>
-    <Anchor>a9857835334d38ba04959e348ca6be208</Anchor>
+    <Path>classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html</Path>
+    <Anchor>a110eb65dc3e34e1cebd28a10218c6d70</Anchor>
     <Abstract>construct a JSON value given an input stream </Abstract>
     <DeclaredIn>json.hpp</DeclaredIn>
   </Token>
@@ -1025,6 +1025,30 @@
   </Token>
   <Token>
     <TokenIdentifier>
+      <Name>value</Name>
+      <APILanguage>cpp</APILanguage>
+      <Type>instm</Type>
+      <Scope>nlohmann::basic_json</Scope>
+    </TokenIdentifier>
+    <Path>classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html</Path>
+    <Anchor>a5010579996e483e46bec5653d983914d</Anchor>
+    <Abstract>access specified object element via JSON Pointer with default value </Abstract>
+    <DeclaredIn>json.hpp</DeclaredIn>
+  </Token>
+  <Token>
+    <TokenIdentifier>
+      <Name>value</Name>
+      <APILanguage>cpp</APILanguage>
+      <Type>instm</Type>
+      <Scope>nlohmann::basic_json</Scope>
+    </TokenIdentifier>
+    <Path>classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html</Path>
+    <Anchor>a24bc3d5e7fc671a406cc521fbe58e736</Anchor>
+    <Abstract>overload for a default value of type const char* </Abstract>
+    <DeclaredIn>json.hpp</DeclaredIn>
+  </Token>
+  <Token>
+    <TokenIdentifier>
       <Name>front</Name>
       <APILanguage>cpp</APILanguage>
       <Type>instm</Type>
@@ -1738,8 +1762,8 @@
       <Type>clm</Type>
       <Scope>nlohmann::basic_json</Scope>
     </TokenIdentifier>
-    <Path>classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html</Path>
-    <Anchor>a35303ad045a06c2a79dc28ac29652e86</Anchor>
+    <Path>classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html</Path>
+    <Anchor>a9a0b1acc13023170d2295eb512289080</Anchor>
     <Abstract>deserialize from string </Abstract>
     <DeclaredIn>json.hpp</DeclaredIn>
   </Token>
@@ -1750,8 +1774,8 @@
       <Type>clm</Type>
       <Scope>nlohmann::basic_json</Scope>
     </TokenIdentifier>
-    <Path>classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html</Path>
-    <Anchor>a13c4d2ab4e7ee2f92be785a7b12948ff</Anchor>
+    <Path>classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html</Path>
+    <Anchor>a0923f9749409345a21f8cb15ee95fc0d</Anchor>
     <Abstract>deserialize from stream </Abstract>
     <DeclaredIn>json.hpp</DeclaredIn>
   </Token>
@@ -1762,8 +1786,8 @@
       <Type>clm</Type>
       <Scope>nlohmann::basic_json</Scope>
     </TokenIdentifier>
-    <Path>classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html</Path>
-    <Anchor>ab81f2801779e6cb9d98770860af2e39a</Anchor>
+    <Path>classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html</Path>
+    <Anchor>a959bc32fc72a76cd5a1bd6977926f787</Anchor>
     <Abstract>deserialize from stream </Abstract>
     <DeclaredIn>json.hpp</DeclaredIn>
   </Token>
@@ -2017,7 +2041,7 @@
     </TokenIdentifier>
     <Path>classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html</Path>
     <Anchor>a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc</Anchor>
-    <Abstract>number value (integer) </Abstract>
+    <Abstract>number value (signed integer) </Abstract>
   </Token>
   <Token>
     <TokenIdentifier>
@@ -2182,7 +2206,7 @@
     </TokenIdentifier>
     <Path>classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html</Path>
     <Anchor>a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc</Anchor>
-    <Abstract>number value (integer) </Abstract>
+    <Abstract>number value (signed integer) </Abstract>
   </Token>
   <Token>
     <TokenIdentifier>
@@ -2316,7 +2340,7 @@
     </TokenIdentifier>
     <Path>classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html</Path>
     <Anchor>a6b950c6bc081ac1ec1540ec05ceb2603</Anchor>
-    <Abstract>copy constructor given a nonconst iterator </Abstract>
+    <Abstract>copy constructor given a non-const iterator </Abstract>
     <DeclaredIn>json.hpp</DeclaredIn>
   </Token>
   <Token>
@@ -2927,7 +2951,7 @@
     </TokenIdentifier>
     <Path>classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html</Path>
     <Anchor>a6b950c6bc081ac1ec1540ec05ceb2603</Anchor>
-    <Abstract>copy constructor given a nonconst iterator </Abstract>
+    <Abstract>copy constructor given a non-const iterator </Abstract>
     <DeclaredIn>json.hpp</DeclaredIn>
   </Token>
   <Token>
diff --git a/annotated.html b/annotated.html
index 701f0d0..d08a384 100644
--- a/annotated.html
+++ b/annotated.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -102,7 +102,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/callback_events.png b/callback_events.png
new file mode 100644
index 0000000..09aa2b3
--- /dev/null
+++ b/callback_events.png
Binary files differ
diff --git a/classes.html b/classes.html
index aa9aa5d..c5117fb 100644
--- a/classes.html
+++ b/classes.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -106,7 +106,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json-members.html b/classnlohmann_1_1basic__json-members.html
index 285fe84..882a12f 100644
--- a/classnlohmann_1_1basic__json-members.html
+++ b/classnlohmann_1_1basic__json-members.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -126,7 +126,7 @@
   <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a>(std::initializer_list&lt; basic_json &gt; init, bool type_deduction=true, value_t manual_type=value_t::array)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a>(size_type cnt, const basic_json &amp;val)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a>(InputIT first, InputIT last)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a>(std::istream &amp;i, parser_callback_t cb=nullptr)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a>(std::istream &amp;i, const parser_callback_t cb=nullptr)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
   <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a>(const basic_json &amp;other)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a>(basic_json &amp;&amp;other) noexcept</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a>() noexcept</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -221,9 +221,9 @@
   <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a>(T *key) const </td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a>(const json_pointer &amp;ptr)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a>(const json_pointer &amp;ptr) const </td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a>(const string_t &amp;s, parser_callback_t cb=nullptr)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a>(std::istream &amp;i, parser_callback_t cb=nullptr)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a>(std::istream &amp;&amp;i, parser_callback_t cb=nullptr)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a>(const string_t &amp;s, const parser_callback_t cb=nullptr)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a>(std::istream &amp;i, const parser_callback_t cb=nullptr)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a>(std::istream &amp;&amp;i, const parser_callback_t cb=nullptr)</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a> enum name</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> typedef</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a>(const basic_json &amp;json_patch) const </td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -249,13 +249,15 @@
   <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a>() const </td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a>(const typename object_t::key_type &amp;key, ValueType default_value) const </td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a>(const typename object_t::key_type &amp;key, const char *default_value) const </td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a>(const json_pointer &amp;ptr, ValueType default_value) const </td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a>(const json_pointer &amp;ptr, const char *default_value) const </td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> enum name</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a> typedef</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a>()</td><td class="entry"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json.html b/classnlohmann_1_1basic__json.html
index 2a5d417..ba0c99d 100644
--- a/classnlohmann_1_1basic__json.html
+++ b/classnlohmann_1_1basic__json.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -159,6 +159,8 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
 container types</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp6618fa684bc6d5a05e2c88bfff1c0d66"></a>The canonic container types to use <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> like any other STL container. </p>
+</td></tr>
 <tr class="memitem:ac8d45b57874b4a6e9c07f7d3b5daa1f9"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a> = <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a></td></tr>
 <tr class="memdesc:ac8d45b57874b4a6e9c07f7d3b5daa1f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">the type of elements in a basic_json container  <a href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">More...</a><br /></td></tr>
 <tr class="separator:ac8d45b57874b4a6e9c07f7d3b5daa1f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -192,6 +194,8 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
 JSON value data types</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpbddfba6d49869d59bfd397e65b8cba87"></a>The data types to store a JSON value. These types are derived from the template arguments passed to class <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>. </p>
+</td></tr>
 <tr class="memitem:a0ac9894c9de8dc551cf2e5f1c605537f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> = ObjectType&lt; StringType, <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>, std::less&lt; StringType &gt;, AllocatorType&lt; std::pair&lt; const StringType, <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> &gt;&gt;&gt;</td></tr>
 <tr class="memdesc:a0ac9894c9de8dc551cf2e5f1c605537f"><td class="mdescLeft">&#160;</td><td class="mdescRight">a type for an object  <a href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">More...</a><br /></td></tr>
 <tr class="separator:a0ac9894c9de8dc551cf2e5f1c605537f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -216,6 +220,8 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
 constructors and destructors</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpd94b4d3d0135946bb7bdf25e48755337"></a>Constructors of class <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>, copy/move constructor, copy assignment, static functions creating objects, and the destructor. </p>
+</td></tr>
 <tr class="memitem:a5685815624b086caa532f41e853d4b0f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a> (std::initializer_list&lt; <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> &gt; init=std::initializer_list&lt; <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> &gt;())</td></tr>
 <tr class="memdesc:a5685815624b086caa532f41e853d4b0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">explicitly create an array from an initializer list  <a href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">More...</a><br /></td></tr>
 <tr class="separator:a5685815624b086caa532f41e853d4b0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -294,9 +300,9 @@
 <tr class="memitem:af7acf3838a79363356f24538941a559c"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a> (InputIT first, InputIT last)</td></tr>
 <tr class="memdesc:af7acf3838a79363356f24538941a559c"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a JSON container given an iterator range  <a href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">More...</a><br /></td></tr>
 <tr class="separator:af7acf3838a79363356f24538941a559c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9857835334d38ba04959e348ca6be208"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a> (std::istream &amp;i, <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb=nullptr)</td></tr>
-<tr class="memdesc:a9857835334d38ba04959e348ca6be208"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a JSON value given an input stream  <a href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">More...</a><br /></td></tr>
-<tr class="separator:a9857835334d38ba04959e348ca6be208"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a110eb65dc3e34e1cebd28a10218c6d70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a> (std::istream &amp;i, const <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb=nullptr)</td></tr>
+<tr class="memdesc:a110eb65dc3e34e1cebd28a10218c6d70"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a JSON value given an input stream  <a href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">More...</a><br /></td></tr>
+<tr class="separator:a110eb65dc3e34e1cebd28a10218c6d70"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a4ab93491f82545342562c7ee7e3166c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a> (const <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> &amp;other)</td></tr>
 <tr class="memdesc:a4ab93491f82545342562c7ee7e3166c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor  <a href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">More...</a><br /></td></tr>
 <tr class="separator:a4ab93491f82545342562c7ee7e3166c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -312,6 +318,8 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
 object inspection</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpbbb01a37b8f261ae5b5799058dcac1a0"></a>Functions to inspect the type of a JSON value. </p>
+</td></tr>
 <tr class="memitem:a805e3f3a2f374da0e14942eec7400e40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a> (const int indent=-1) const </td></tr>
 <tr class="memdesc:a805e3f3a2f374da0e14942eec7400e40"><td class="mdescLeft">&#160;</td><td class="mdescRight">serialization  <a href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">More...</a><br /></td></tr>
 <tr class="separator:a805e3f3a2f374da0e14942eec7400e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -360,6 +368,8 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
 value access</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpd8f53c9caf18314e5b3f758245606995"></a>Direct access to the stored value of a JSON value. </p>
+</td></tr>
 <tr class="memitem:a20bfb2ca6d4c421c74bb3e53328cd437"><td class="memTemplParams" colspan="2">template&lt;typename ValueType , typename std::enable_if&lt;                                                              not std::is_pointer&lt; ValueType &gt;::value                                                           , int &gt;::type  = 0&gt; </td></tr>
 <tr class="memitem:a20bfb2ca6d4c421c74bb3e53328cd437"><td class="memTemplItemLeft" align="right" valign="top">ValueType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a> () const </td></tr>
 <tr class="memdesc:a20bfb2ca6d4c421c74bb3e53328cd437"><td class="mdescLeft">&#160;</td><td class="mdescRight">get a value (explicit)  <a href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">More...</a><br /></td></tr>
@@ -395,6 +405,8 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
 element access</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpf68418821a90b03a001117a613b131dd"></a>Access to the JSON value. </p>
+</td></tr>
 <tr class="memitem:a214a8c22d616fd3567b88932c07436c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a> (<a class="el" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)</td></tr>
 <tr class="memdesc:a214a8c22d616fd3567b88932c07436c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">access specified array element with bounds checking  <a href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">More...</a><br /></td></tr>
 <tr class="separator:a214a8c22d616fd3567b88932c07436c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -442,6 +454,13 @@
 <tr class="memitem:af071057ebab57744f5767eb369e99d42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a> (const typename object_t::key_type &amp;key, const char *default_value) const </td></tr>
 <tr class="memdesc:af071057ebab57744f5767eb369e99d42"><td class="mdescLeft">&#160;</td><td class="mdescRight">overload for a default value of type const char*  <a href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">More...</a><br /></td></tr>
 <tr class="separator:af071057ebab57744f5767eb369e99d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5010579996e483e46bec5653d983914d"><td class="memTemplParams" colspan="2">template&lt;class ValueType , typename std::enable_if&lt;                                                                  std::is_convertible&lt; basic_json_t, ValueType &gt;::value                                                               , int &gt;::type  = 0&gt; </td></tr>
+<tr class="memitem:a5010579996e483e46bec5653d983914d"><td class="memTemplItemLeft" align="right" valign="top">ValueType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a> (const <a class="el" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> &amp;ptr, ValueType default_value) const </td></tr>
+<tr class="memdesc:a5010579996e483e46bec5653d983914d"><td class="mdescLeft">&#160;</td><td class="mdescRight">access specified object element via JSON Pointer with default value  <a href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">More...</a><br /></td></tr>
+<tr class="separator:a5010579996e483e46bec5653d983914d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a24bc3d5e7fc671a406cc521fbe58e736"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a> (const <a class="el" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> &amp;ptr, const char *default_value) const </td></tr>
+<tr class="memdesc:a24bc3d5e7fc671a406cc521fbe58e736"><td class="mdescLeft">&#160;</td><td class="mdescRight">overload for a default value of type const char*  <a href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">More...</a><br /></td></tr>
+<tr class="separator:a24bc3d5e7fc671a406cc521fbe58e736"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa45753034bea87f9d2c0c42ace9ff75c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front</a> ()</td></tr>
 <tr class="memdesc:aa45753034bea87f9d2c0c42ace9ff75c"><td class="mdescLeft">&#160;</td><td class="mdescRight">access the first element  <a href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">More...</a><br /></td></tr>
 <tr class="separator:aa45753034bea87f9d2c0c42ace9ff75c"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -642,15 +661,15 @@
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
 deserialization</h2></td></tr>
-<tr class="memitem:a35303ad045a06c2a79dc28ac29652e86"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a> (const <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> &amp;s, <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb=nullptr)</td></tr>
-<tr class="memdesc:a35303ad045a06c2a79dc28ac29652e86"><td class="mdescLeft">&#160;</td><td class="mdescRight">deserialize from string  <a href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">More...</a><br /></td></tr>
-<tr class="separator:a35303ad045a06c2a79dc28ac29652e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a13c4d2ab4e7ee2f92be785a7b12948ff"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a> (std::istream &amp;i, <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb=nullptr)</td></tr>
-<tr class="memdesc:a13c4d2ab4e7ee2f92be785a7b12948ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">deserialize from stream  <a href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">More...</a><br /></td></tr>
-<tr class="separator:a13c4d2ab4e7ee2f92be785a7b12948ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab81f2801779e6cb9d98770860af2e39a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a> (std::istream &amp;&amp;i, <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb=nullptr)</td></tr>
-<tr class="memdesc:ab81f2801779e6cb9d98770860af2e39a"><td class="mdescLeft">&#160;</td><td class="mdescRight">deserialize from stream  <a href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">More...</a><br /></td></tr>
-<tr class="separator:ab81f2801779e6cb9d98770860af2e39a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a0b1acc13023170d2295eb512289080"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a> (const <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> &amp;s, const <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb=nullptr)</td></tr>
+<tr class="memdesc:a9a0b1acc13023170d2295eb512289080"><td class="mdescLeft">&#160;</td><td class="mdescRight">deserialize from string  <a href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">More...</a><br /></td></tr>
+<tr class="separator:a9a0b1acc13023170d2295eb512289080"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0923f9749409345a21f8cb15ee95fc0d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a> (std::istream &amp;i, const <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb=nullptr)</td></tr>
+<tr class="memdesc:a0923f9749409345a21f8cb15ee95fc0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">deserialize from stream  <a href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">More...</a><br /></td></tr>
+<tr class="separator:a0923f9749409345a21f8cb15ee95fc0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a959bc32fc72a76cd5a1bd6977926f787"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a> (std::istream &amp;&amp;i, const <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb=nullptr)</td></tr>
+<tr class="memdesc:a959bc32fc72a76cd5a1bd6977926f787"><td class="mdescLeft">&#160;</td><td class="mdescRight">deserialize from stream  <a href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">More...</a><br /></td></tr>
+<tr class="separator:a959bc32fc72a76cd5a1bd6977926f787"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a60ca396028b8d9714c6e10efbf475af6"><td class="memItemLeft" align="right" valign="top">std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">operator&lt;&lt;</a> (<a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> &amp;j, std::istream &amp;i)</td></tr>
 <tr class="memdesc:a60ca396028b8d9714c6e10efbf475af6"><td class="mdescLeft">&#160;</td><td class="mdescRight">deserialize from stream  <a href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">More...</a><br /></td></tr>
 <tr class="separator:a60ca396028b8d9714c6e10efbf475af6"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -733,14 +752,20 @@
 </li>
 </ul>
 </dd></dl>
+<dl class="section invariant"><dt>Invariant</dt><dd>The member variables <em>m_value</em> and <em>m_type</em> have the following relationship:<ul>
+<li>If <code>m_type == value_t::object</code>, then <code>m_value.object != nullptr</code>.</li>
+<li>If <code>m_type == value_t::array</code>, then <code>m_value.array != nullptr</code>.</li>
+<li>If <code>m_type == value_t::string</code>, then <code>m_value.string != nullptr</code>. The invariants are checked by member function assert_invariant().</li>
+</ul>
+</dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a href="http://rfc7159.net/rfc7159">RFC 7159: The JavaScript Object Notation (JSON) Data Interchange Format</a></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00187">187</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00221">221</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator-members.html b/classnlohmann_1_1basic__json_1_1const__iterator-members.html
index 9c4de06..bad9ca1 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator-members.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator-members.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -128,7 +128,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator.html b/classnlohmann_1_1basic__json_1_1const__iterator.html
index 84c9dd3..42a984b 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 <tr class="memdesc:a23de834b11bd895209aa65c100ab9ceb"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor for a given JSON instance  <a href="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html#a23de834b11bd895209aa65c100ab9ceb">More...</a><br /></td></tr>
 <tr class="separator:a23de834b11bd895209aa65c100ab9ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6b950c6bc081ac1ec1540ec05ceb2603"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">const_iterator</a> (const <a class="el" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> &amp;other) noexcept</td></tr>
-<tr class="memdesc:a6b950c6bc081ac1ec1540ec05ceb2603"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor given a nonconst iterator  <a href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">More...</a><br /></td></tr>
+<tr class="memdesc:a6b950c6bc081ac1ec1540ec05ceb2603"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor given a non-const iterator  <a href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">More...</a><br /></td></tr>
 <tr class="separator:a6b950c6bc081ac1ec1540ec05ceb2603"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a18c35a6735d3da96b4fc026421c05dd8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8">const_iterator</a> (const <a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> &amp;other) noexcept</td></tr>
 <tr class="memdesc:a18c35a6735d3da96b4fc026421c05dd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor  <a href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8">More...</a><br /></td></tr>
@@ -209,17 +209,18 @@
 class nlohmann::basic_json::const_iterator</h3>
 
 <p>This class implements a const iterator for the <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> class. From this class, the <a class="el" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> class is derived.</p>
+<dl class="section note"><dt>Note</dt><dd>An iterator is called <em>initialized</em> when a pointer to a JSON value has been set (e.g., by a constructor or a copy assignment). If the iterator is default-constructed, it is <em>uninitialized</em> and most methods are undefined. The library uses assertions to detect calls on uninitialized iterators.</dd></dl>
 <dl class="section user"><dt>Requirements</dt><dd>The class satisfies the following concept requirements:<ul>
 <li><a href="http://en.cppreference.com/w/cpp/concept/RandomAccessIterator">RandomAccessIterator</a>: The iterator that can be moved to point (forward and backward) to any element in constant time.</li>
 </ul>
 </dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06363">6363</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06605">6605</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html b/classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html
index e09d81f..1a34b85 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06758">6758</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07055">7055</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html b/classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html
index aa04485..2a9e4ab 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,15 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>iterator to copy from </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>It is not checked whether <em>other</em> is initialized. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06440">6440</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06696">6696</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +160,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html b/classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html
index 992e4e4..760a470 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06374">6374</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06616">6616</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html b/classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html
index db2bcf3..b33f522 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,16 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>pointer to a JSON object for this iterator </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section pre"><dt>Precondition</dt><dd>object != nullptr </dd></dl>
+<dl class="section post"><dt>Postcondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06384">6384</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06631">6631</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +161,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html b/classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html
index 9f09f50..450556a 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06372">6372</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06614">6614</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html b/classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html
index e25aa6a..83f7927 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,15 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">other</td><td>iterator to copy from </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>It is not checked whether <em>other</em> is initialized. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06445">6445</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06705">6705</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +160,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html b/classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html
index 2c553bf..ace86a5 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -141,8 +141,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06868">6868</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07183">7183</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -152,7 +153,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html b/classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html
index ba03793..d8a5a34 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06808">6808</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07117">7117</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html b/classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html
index c360a10..a52906a 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06710">6710</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06995">6995</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html b/classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html
index 6cc32b3..869be47 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06740">6740</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07028">7028</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html b/classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html
index b94425a..4b41e01 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,15 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">other</td><td>iterator to copy from </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>It is not checked whether <em>other</em> is initialized. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06412">6412</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06663">6663</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +160,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html b/classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html
index c14ec5c..b4c57e6 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06637">6637</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06910">6910</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html b/classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html
index b437e8a..614c894 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06792">6792</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07095">7095</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html b/classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html
index bf78df9..55c62ab 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06832">6832</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07144">7144</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html b/classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html
index b34c36d..ef83e4d 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06378">6378</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06620">6620</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html b/classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html
index 6e33050..5a50c03 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -141,8 +141,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06565">6565</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06831">6831</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -152,7 +153,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html b/classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html
index 4ddc3a8..25cbf2e 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06600">6600</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06867">6867</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html b/classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html
index bcad78d..afa34df 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -141,8 +141,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06608">6608</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06878">6878</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -152,7 +153,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html b/classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html
index df62e56..91bf838 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06704">6704</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06986">6986</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html b/classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html
index d8c0409..8938884 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06370">6370</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06612">6612</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html b/classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html
index e24c5f9..4020885 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -141,8 +141,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06525">6525</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06790">6790</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -152,7 +153,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html b/classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html
index 4157e1c..c53f50b 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06674">6674</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06953">6953</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html b/classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html
index 8ff30c6..7a1da93 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06800">6800</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07106">7106</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ac6fdaff67857f82a623e5cc253917639.html b/classnlohmann_1_1basic__json_1_1const__iterator_ac6fdaff67857f82a623e5cc253917639.html
index 693181a..51f70bf 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ac6fdaff67857f82a623e5cc253917639.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ac6fdaff67857f82a623e5cc253917639.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -150,7 +150,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html b/classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html
index 241cb17..9a7f642 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -141,8 +141,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06883">6883</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07201">7201</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -152,7 +153,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html b/classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html
index e498b2c..ae07c74 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06746">6746</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07037">7037</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html b/classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html
index 44565ce..28e3c14 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -139,7 +139,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06366">6366</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06608">6608</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -149,7 +149,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html b/classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html
index f6dce95..02d156d 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -141,8 +141,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06645">6645</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06921">6921</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -152,7 +153,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html b/classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html
index 042b730..48cbf27 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06786">6786</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07086">7086</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html b/classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html
index 31fd4a5..96842ec 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06376">6376</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06618">6618</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html b/classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html
index 09f0a10..0651258 100644
--- a/classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html
+++ b/classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -142,8 +142,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
+<dl class="section pre"><dt>Precondition</dt><dd>The iterator is initialized; i.e. <code>m_object != nullptr</code>. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06752">6752</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07046">7046</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -153,7 +154,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator-members.html b/classnlohmann_1_1basic__json_1_1iterator-members.html
index 424621a..60a9baf 100644
--- a/classnlohmann_1_1basic__json_1_1iterator-members.html
+++ b/classnlohmann_1_1basic__json_1_1iterator-members.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -133,7 +133,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator.html b/classnlohmann_1_1basic__json_1_1iterator.html
index 68785ea..fbcc809 100644
--- a/classnlohmann_1_1basic__json_1_1iterator.html
+++ b/classnlohmann_1_1basic__json_1_1iterator.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -187,7 +187,7 @@
 <tr class="memdesc:a23de834b11bd895209aa65c100ab9ceb inherit pub_methods_classnlohmann_1_1basic__json_1_1const__iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor for a given JSON instance  <a href="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html#a23de834b11bd895209aa65c100ab9ceb">More...</a><br /></td></tr>
 <tr class="separator:a23de834b11bd895209aa65c100ab9ceb inherit pub_methods_classnlohmann_1_1basic__json_1_1const__iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6b950c6bc081ac1ec1540ec05ceb2603 inherit pub_methods_classnlohmann_1_1basic__json_1_1const__iterator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">const_iterator</a> (const <a class="el" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> &amp;other) noexcept</td></tr>
-<tr class="memdesc:a6b950c6bc081ac1ec1540ec05ceb2603 inherit pub_methods_classnlohmann_1_1basic__json_1_1const__iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor given a nonconst iterator  <a href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">More...</a><br /></td></tr>
+<tr class="memdesc:a6b950c6bc081ac1ec1540ec05ceb2603 inherit pub_methods_classnlohmann_1_1basic__json_1_1const__iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor given a non-const iterator  <a href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">More...</a><br /></td></tr>
 <tr class="separator:a6b950c6bc081ac1ec1540ec05ceb2603 inherit pub_methods_classnlohmann_1_1basic__json_1_1const__iterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a18c35a6735d3da96b4fc026421c05dd8 inherit pub_methods_classnlohmann_1_1basic__json_1_1const__iterator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8">const_iterator</a> (const <a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> &amp;other) noexcept</td></tr>
 <tr class="memdesc:a18c35a6735d3da96b4fc026421c05dd8 inherit pub_methods_classnlohmann_1_1basic__json_1_1const__iterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy constructor  <a href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8">More...</a><br /></td></tr>
@@ -267,11 +267,11 @@
 </dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06907">6907</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07225">7225</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html b/classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html
index b0b9c9f..604101f 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06960">6960</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07278">7278</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html b/classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html
index 227830c..2128c71 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06918">6918</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07236">7236</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html b/classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html
index 6f3ad89..75a7682 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06923">6923</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07241">7241</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html b/classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html
index 6ba3fa8..73ab733 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06952">6952</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07270">7270</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a3aae1df93a78b201d98e178c1c7d02a7.html b/classnlohmann_1_1basic__json_1_1iterator_a3aae1df93a78b201d98e178c1c7d02a7.html
index 8ff5576..b12f551 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a3aae1df93a78b201d98e178c1c7d02a7.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a3aae1df93a78b201d98e178c1c7d02a7.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -120,7 +120,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06911">6911</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07229">7229</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -130,7 +130,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html b/classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html
index c1ffaaf..e7b3b10 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06928">6928</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07246">7246</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a47fb2dbbbfaf65c0ccfa99aeaed920a1.html b/classnlohmann_1_1basic__json_1_1iterator_a47fb2dbbbfaf65c0ccfa99aeaed920a1.html
index c6f8b9f..ed01a7b 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a47fb2dbbbfaf65c0ccfa99aeaed920a1.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a47fb2dbbbfaf65c0ccfa99aeaed920a1.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html b/classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html
index 2aaa8f0..776d723 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06996">6996</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07314">7314</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html b/classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html
index 0be84cf..3e3f7c9 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07004">7004</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07322">7322</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html b/classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html
index 722d833..4ba0f8f 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07018">7018</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07336">7336</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html b/classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html
index 93c2521..1b6115a 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06946">6946</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07264">7264</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html b/classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html
index 1536f7e..83fae59 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07024">7024</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07342">7342</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a97aff5d71246774267a81066460dd1cf.html b/classnlohmann_1_1basic__json_1_1iterator_a97aff5d71246774267a81066460dd1cf.html
index bc56d55..c004443 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a97aff5d71246774267a81066460dd1cf.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a97aff5d71246774267a81066460dd1cf.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -120,7 +120,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06912">6912</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07230">7230</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -130,7 +130,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html b/classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html
index d52f3d5..655d397 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07012">7012</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07330">7330</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html b/classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html
index a4dba6d..7bdb0dc 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06975">6975</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07293">7293</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html b/classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html
index cbe2b2e..a6a8abf 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06967">6967</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07285">7285</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_ac48754e4dc48d65d95294bd170dcd857.html b/classnlohmann_1_1basic__json_1_1iterator_ac48754e4dc48d65d95294bd170dcd857.html
index e92199a..73ca973 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_ac48754e4dc48d65d95294bd170dcd857.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_ac48754e4dc48d65d95294bd170dcd857.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -120,7 +120,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06910">6910</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07228">7228</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -130,7 +130,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html b/classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html
index 5a8c1f1..e3759d8 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,7 +131,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06940">6940</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07258">7258</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html b/classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html
index 5e9ce3f..544ba3a 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06982">6982</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07300">7300</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html b/classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html
index a96032e..cd13603 100644
--- a/classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html
+++ b/classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l06989">6989</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07307">7307</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -142,7 +142,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__pointer-members.html b/classnlohmann_1_1basic__json_1_1json__pointer-members.html
index 6638c33..f8c1bcf 100644
--- a/classnlohmann_1_1basic__json_1_1json__pointer-members.html
+++ b/classnlohmann_1_1basic__json_1_1json__pointer-members.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -101,7 +101,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__pointer.html b/classnlohmann_1_1basic__json_1_1json__pointer.html
index bc884e8..0e1e3fa 100644
--- a/classnlohmann_1_1basic__json_1_1json__pointer.html
+++ b/classnlohmann_1_1basic__json_1_1json__pointer.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -127,11 +127,11 @@
 <dl class="section see"><dt>See also</dt><dd><a href="https://tools.ietf.org/html/rfc6901">RFC 6901</a></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l08732">8732</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09124">9124</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__pointer_a14fda25789660bdc3f2de652fec35f61.html b/classnlohmann_1_1basic__json_1_1json__pointer_a14fda25789660bdc3f2de652fec35f61.html
index 4c2b121..e7a94c3 100644
--- a/classnlohmann_1_1basic__json_1_1json__pointer_a14fda25789660bdc3f2de652fec35f61.html
+++ b/classnlohmann_1_1basic__json_1_1json__pointer_a14fda25789660bdc3f2de652fec35f61.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
 </div><div class="memdoc">
 <dl class="section invariant"><dt>Invariant</dt><dd>For each JSON pointer <code>ptr</code>, it holds: <div class="fragment"><div class="line">ptr == <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html#ae12db117a2742d826465080979d7c835">json_pointer</a>(ptr.<a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer_a14fda25789660bdc3f2de652fec35f61.html#a14fda25789660bdc3f2de652fec35f61">to_string</a>());</div></div><!-- fragment --></dd></dl>
 <dl class="section return"><dt>Returns</dt><dd>a string representation of the JSON pointer</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows the result of <code>to_string</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// different JSON Pointers</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    json::json_pointer ptr1(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    json::json_pointer ptr2(<span class="stringliteral">&quot;/foo&quot;</span>);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    json::json_pointer ptr3(<span class="stringliteral">&quot;/foo/0&quot;</span>);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::json_pointer ptr4(<span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    json::json_pointer ptr5(<span class="stringliteral">&quot;/a~1b&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    json::json_pointer ptr6(<span class="stringliteral">&quot;/c%d&quot;</span>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    json::json_pointer ptr7(<span class="stringliteral">&quot;/e^f&quot;</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    json::json_pointer ptr8(<span class="stringliteral">&quot;/g|h&quot;</span>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    json::json_pointer ptr9(<span class="stringliteral">&quot;/i\\j&quot;</span>);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    json::json_pointer ptr10(<span class="stringliteral">&quot;/k\&quot;l&quot;</span>);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    json::json_pointer ptr11(<span class="stringliteral">&quot;/ &quot;</span>);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    json::json_pointer ptr12(<span class="stringliteral">&quot;/m~0n&quot;</span>);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; ptr1.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;              &lt;&lt; ptr2.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;              &lt;&lt; ptr3.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;              &lt;&lt; ptr4.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;              &lt;&lt; ptr5.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;              &lt;&lt; ptr6.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; ptr7.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;              &lt;&lt; ptr8.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;              &lt;&lt; ptr9.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;              &lt;&lt; ptr10.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;              &lt;&lt; ptr11.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;              &lt;&lt; ptr12.to_string() &lt;&lt; std::endl;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows the result of <code>to_string</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// different JSON Pointers</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    json::json_pointer ptr1(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    json::json_pointer ptr2(<span class="stringliteral">&quot;/foo&quot;</span>);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    json::json_pointer ptr3(<span class="stringliteral">&quot;/foo/0&quot;</span>);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::json_pointer ptr4(<span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    json::json_pointer ptr5(<span class="stringliteral">&quot;/a~1b&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    json::json_pointer ptr6(<span class="stringliteral">&quot;/c%d&quot;</span>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    json::json_pointer ptr7(<span class="stringliteral">&quot;/e^f&quot;</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    json::json_pointer ptr8(<span class="stringliteral">&quot;/g|h&quot;</span>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    json::json_pointer ptr9(<span class="stringliteral">&quot;/i\\j&quot;</span>);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    json::json_pointer ptr10(<span class="stringliteral">&quot;/k\&quot;l&quot;</span>);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    json::json_pointer ptr11(<span class="stringliteral">&quot;/ &quot;</span>);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    json::json_pointer ptr12(<span class="stringliteral">&quot;/m~0n&quot;</span>);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; ptr1.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;              &lt;&lt; ptr2.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;              &lt;&lt; ptr3.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;              &lt;&lt; ptr4.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;              &lt;&lt; ptr5.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;              &lt;&lt; ptr6.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; ptr7.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;              &lt;&lt; ptr8.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;              &lt;&lt; ptr9.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;              &lt;&lt; ptr10.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;              &lt;&lt; ptr11.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;              &lt;&lt; ptr12.to_string() &lt;&lt; std::endl;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/O4FbKx0TbZioFhfU"><b>online</b></a>): <pre class="fragment">
 /foo
 /foo/0
@@ -134,7 +134,7 @@
 json_pointer__to_string </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l08783">8783</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09175">9175</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -144,7 +144,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__pointer_a344b49c70c83ff591be767072c87336e.html b/classnlohmann_1_1basic__json_1_1json__pointer_a344b49c70c83ff591be767072c87336e.html
index 668ab50..3bb4aaa 100644
--- a/classnlohmann_1_1basic__json_1_1json__pointer_a344b49c70c83ff591be767072c87336e.html
+++ b/classnlohmann_1_1basic__json_1_1json__pointer_a344b49c70c83ff591be767072c87336e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
 </div><div class="memdoc">
 <dl class="section invariant"><dt>Invariant</dt><dd>For each JSON pointer <code>ptr</code>, it holds: <div class="fragment"><div class="line">ptr == <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html#ae12db117a2742d826465080979d7c835">json_pointer</a>(ptr.<a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer_a14fda25789660bdc3f2de652fec35f61.html#a14fda25789660bdc3f2de652fec35f61">to_string</a>());</div></div><!-- fragment --></dd></dl>
 <dl class="section return"><dt>Returns</dt><dd>a string representation of the JSON pointer</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows the result of <code>to_string</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// different JSON Pointers</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    json::json_pointer ptr1(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    json::json_pointer ptr2(<span class="stringliteral">&quot;/foo&quot;</span>);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    json::json_pointer ptr3(<span class="stringliteral">&quot;/foo/0&quot;</span>);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::json_pointer ptr4(<span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    json::json_pointer ptr5(<span class="stringliteral">&quot;/a~1b&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    json::json_pointer ptr6(<span class="stringliteral">&quot;/c%d&quot;</span>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    json::json_pointer ptr7(<span class="stringliteral">&quot;/e^f&quot;</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    json::json_pointer ptr8(<span class="stringliteral">&quot;/g|h&quot;</span>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    json::json_pointer ptr9(<span class="stringliteral">&quot;/i\\j&quot;</span>);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    json::json_pointer ptr10(<span class="stringliteral">&quot;/k\&quot;l&quot;</span>);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    json::json_pointer ptr11(<span class="stringliteral">&quot;/ &quot;</span>);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    json::json_pointer ptr12(<span class="stringliteral">&quot;/m~0n&quot;</span>);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; ptr1.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;              &lt;&lt; ptr2.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;              &lt;&lt; ptr3.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;              &lt;&lt; ptr4.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;              &lt;&lt; ptr5.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;              &lt;&lt; ptr6.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; ptr7.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;              &lt;&lt; ptr8.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;              &lt;&lt; ptr9.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;              &lt;&lt; ptr10.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;              &lt;&lt; ptr11.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;              &lt;&lt; ptr12.to_string() &lt;&lt; std::endl;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows the result of <code>to_string</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// different JSON Pointers</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    json::json_pointer ptr1(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    json::json_pointer ptr2(<span class="stringliteral">&quot;/foo&quot;</span>);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    json::json_pointer ptr3(<span class="stringliteral">&quot;/foo/0&quot;</span>);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::json_pointer ptr4(<span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    json::json_pointer ptr5(<span class="stringliteral">&quot;/a~1b&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    json::json_pointer ptr6(<span class="stringliteral">&quot;/c%d&quot;</span>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    json::json_pointer ptr7(<span class="stringliteral">&quot;/e^f&quot;</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    json::json_pointer ptr8(<span class="stringliteral">&quot;/g|h&quot;</span>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    json::json_pointer ptr9(<span class="stringliteral">&quot;/i\\j&quot;</span>);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    json::json_pointer ptr10(<span class="stringliteral">&quot;/k\&quot;l&quot;</span>);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    json::json_pointer ptr11(<span class="stringliteral">&quot;/ &quot;</span>);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    json::json_pointer ptr12(<span class="stringliteral">&quot;/m~0n&quot;</span>);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; ptr1.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;              &lt;&lt; ptr2.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;              &lt;&lt; ptr3.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;              &lt;&lt; ptr4.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;              &lt;&lt; ptr5.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;              &lt;&lt; ptr6.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; ptr7.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;              &lt;&lt; ptr8.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;              &lt;&lt; ptr9.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;              &lt;&lt; ptr10.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;              &lt;&lt; ptr11.to_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;              &lt;&lt; ptr12.to_string() &lt;&lt; std::endl;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/O4FbKx0TbZioFhfU"><b>online</b></a>): <pre class="fragment">
 /foo
 /foo/0
@@ -134,7 +134,7 @@
 json_pointer__to_string </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l08796">8796</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09186">9186</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -144,7 +144,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__pointer_ada3100cdb8700566051828f1355fa745.html b/classnlohmann_1_1basic__json_1_1json__pointer_ada3100cdb8700566051828f1355fa745.html
index 8b48e80..2d5ba62 100644
--- a/classnlohmann_1_1basic__json_1_1json__pointer_ada3100cdb8700566051828f1355fa745.html
+++ b/classnlohmann_1_1basic__json_1_1json__pointer_ada3100cdb8700566051828f1355fa745.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -112,7 +112,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l08735">8735</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09127">9127</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -122,7 +122,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html b/classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html
index 095d293..1dd529e 100644
--- a/classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html
+++ b/classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -131,14 +131,14 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows the construction several valid JSON pointers as well as the exceptional behavior. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// correct JSON pointers</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    json::json_pointer p1;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    json::json_pointer p2(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    json::json_pointer p3(<span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::json_pointer p4(<span class="stringliteral">&quot;//&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    json::json_pointer p5(<span class="stringliteral">&quot;/foo/bar&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    json::json_pointer p6(<span class="stringliteral">&quot;/foo/bar/-&quot;</span>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    json::json_pointer p7(<span class="stringliteral">&quot;/foo/~0&quot;</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    json::json_pointer p8(<span class="stringliteral">&quot;/foo/~1&quot;</span>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// error: JSON pointer does not begin with a slash</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        json::json_pointer p9(<span class="stringliteral">&quot;foo&quot;</span>);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    }</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; e)</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    {</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;domain_error: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    }</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="comment">// error: JSON pointer uses escape symbol ~ not followed by 0 or 1</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        json::json_pointer p10(<span class="stringliteral">&quot;/foo/~&quot;</span>);</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    }</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; e)</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;domain_error: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    }</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="comment">// error: JSON pointer uses escape symbol ~ not followed by 0 or 1</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        json::json_pointer p11(<span class="stringliteral">&quot;/foo/~3&quot;</span>);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    }</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; e)</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;domain_error: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows the construction several valid JSON pointers as well as the exceptional behavior. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// correct JSON pointers</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    json::json_pointer p1;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    json::json_pointer p2(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    json::json_pointer p3(<span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::json_pointer p4(<span class="stringliteral">&quot;//&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    json::json_pointer p5(<span class="stringliteral">&quot;/foo/bar&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    json::json_pointer p6(<span class="stringliteral">&quot;/foo/bar/-&quot;</span>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    json::json_pointer p7(<span class="stringliteral">&quot;/foo/~0&quot;</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    json::json_pointer p8(<span class="stringliteral">&quot;/foo/~1&quot;</span>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// error: JSON pointer does not begin with a slash</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        json::json_pointer p9(<span class="stringliteral">&quot;foo&quot;</span>);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    }</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; e)</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    {</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;domain_error: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    }</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="comment">// error: JSON pointer uses escape symbol ~ not followed by 0 or 1</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    {</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;        json::json_pointer p10(<span class="stringliteral">&quot;/foo/~&quot;</span>);</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    }</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; e)</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;domain_error: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    }</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="comment">// error: JSON pointer uses escape symbol ~ not followed by 0 or 1</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        json::json_pointer p11(<span class="stringliteral">&quot;/foo/~3&quot;</span>);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    }</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; e)</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;domain_error: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/WM2WWKnXdmdw17Wu"><b>online</b></a>): <pre class="fragment">domain_error: JSON pointer must be empty or begin with '/'
 domain_error: escape error: '~' must be followed with '0' or '1'
 domain_error: escape error: '~' must be followed with '0' or '1'
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/json_pointer.cpp -o json_pointer </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l08760">8760</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09152">9152</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -148,7 +148,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
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 f01212e..75ccbd9 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator-members.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator-members.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -112,7 +112,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html
index 0c76ba9..da9a360 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -170,11 +170,11 @@
 </dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00202">202</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00231">231</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html
index d9d26f7..d86f71b 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07116">7116</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07434">7434</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html
index 2de46a6..c2bd71f 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -128,7 +128,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07073">7073</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07391">7391</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -138,7 +138,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html
index 3b84399..f067879 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07062">7062</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07380">7380</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html
index c813ad0..f50b119 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07067">7067</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07385">7385</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html
index 4c8a1a0..2435d7a 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -128,7 +128,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07086">7086</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07404">7404</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -138,7 +138,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html
index 6c5f656..edf90d3 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07080">7080</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07398">7398</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html
index 9637cc1..3b496c6 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -117,7 +117,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07054">7054</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07372">7372</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -127,7 +127,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html
index c2c02fc..6c8761f 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07057">7057</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07375">7375</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html
index 8910440..2591e2b 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07100">7100</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07418">7418</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html
index 25aa2f9..aab78ec 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07093">7093</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07411">7411</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html
index d0b6b53..8c8334b 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -117,7 +117,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07052">7052</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07370">7370</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -127,7 +127,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html
index 17938cd..1c061ff 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07108">7108</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07426">7426</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html
index 3427f19..f3d51c5 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -128,7 +128,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07135">7135</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07453">7453</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -138,7 +138,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html
index ee756d2..77bd41e 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -128,7 +128,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07128">7128</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07446">7446</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -138,7 +138,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html
index 4590cc9..7ccb90a 100644
--- a/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html
+++ b/classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l07122">7122</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l07440">7440</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -139,7 +139,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html b/classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html
index a7564db..da6824d 100644
--- a/classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html
+++ b/classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -286,13 +288,14 @@
 <td>array </td><td>result of function array_t::size() </td></tr>
 </table>
 </dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This function does not return the length of a string stored as JSON value - it returns the number of elements in the JSON value which is 1 in the case of a string.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant, as long as <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a> and <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> satisfy the Container concept; that is, their size() functions have constant complexity.</dd></dl>
 <dl class="section user"><dt>Requirements</dt><dd>This function helps <code>basic_json</code> satisfying the <a href="http://en.cppreference.com/w/cpp/concept/Container">Container</a> requirements:<ul>
 <li>The complexity is constant.</li>
 <li>Has the semantics of <code>std::distance(begin(), end())</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code calls <code>size()</code> on the different value types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call size()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object_empty.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_array_empty.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code calls <code>size()</code> on the different value types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call size()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object_empty.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_array_empty.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ykuhQopCVvOXcvs9"><b>online</b></a>): <pre class="fragment">0
@@ -310,7 +313,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">max_size()</a> &ndash; returns the maximal number of elements</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04507">4507</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04750">4750</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -320,7 +323,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html b/classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html
index 43620a4..e0082bd 100644
--- a/classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html
+++ b/classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,8 +281,8 @@
 <li>Has the semantics of <code>const_cast&lt;const basic_json&amp;&gt;(*this).rend()</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>crend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-end</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">json::const_reverse_iterator</a> it = array.crend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// increment the iterator to point to the first element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00_html_ae336fff01f4b78e3e16e5008dc8dbc00"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">nlohmann::basic_json::const_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::const_iterator &gt; const_reverse_iterator</div><div class="ttdoc">a const reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00240">json.hpp:240</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>crend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-end</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">json::const_reverse_iterator</a> it = array.crend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// increment the iterator to point to the first element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00_html_ae336fff01f4b78e3e16e5008dc8dbc00"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">nlohmann::basic_json::const_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::const_iterator &gt; const_reverse_iterator</div><div class="ttdoc">a const reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00271">json.hpp:271</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/Qom888gs2RM4wR4H"><b>online</b></a>): <pre class="fragment">1
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/crend.cpp -o crend </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend()</a> &ndash; returns a reverse iterator to the end </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin()</a> &ndash; returns a const reverse iterator to the beginning</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04308">4308</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04543">4543</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html b/classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html
index 6b22622..cb6b749 100644
--- a/classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html
+++ b/classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -276,7 +278,7 @@
 <dl class="section return"><dt>Returns</dt><dd>the original JSON from a flattened version</dd></dl>
 <dl class="section note"><dt>Note</dt><dd>Empty objects and arrays are flattened by <a class="el" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e">flatten()</a> to <code>null</code> values and can not unflattened to their original type. Apart from this example, for a JSON value <code>j</code>, the following is always true: <code>j == j.flatten().unflatten()</code>.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size the JSON value.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows how a flattened JSON object is unflattened into the original nested JSON object. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_flattened =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;/answer/everything&quot;</span>, 42},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;/happy&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;/list/0&quot;</span>, 1},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;/list/1&quot;</span>, 0},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {<span class="stringliteral">&quot;/list/2&quot;</span>, 2},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        {<span class="stringliteral">&quot;/name&quot;</span>, <span class="stringliteral">&quot;Niels&quot;</span>},</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        {<span class="stringliteral">&quot;/nothing&quot;</span>, <span class="keyword">nullptr</span>},</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;        {<span class="stringliteral">&quot;/object/currency&quot;</span>, <span class="stringliteral">&quot;USD&quot;</span>},</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        {<span class="stringliteral">&quot;/object/value&quot;</span>, 42.99},</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        {<span class="stringliteral">&quot;/pi&quot;</span>, 3.141}</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    };</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// call unflatten()</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_flattened.unflatten() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows how a flattened JSON object is unflattened into the original nested JSON object. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_flattened =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;/answer/everything&quot;</span>, 42},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;/happy&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;/list/0&quot;</span>, 1},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;/list/1&quot;</span>, 0},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {<span class="stringliteral">&quot;/list/2&quot;</span>, 2},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        {<span class="stringliteral">&quot;/name&quot;</span>, <span class="stringliteral">&quot;Niels&quot;</span>},</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        {<span class="stringliteral">&quot;/nothing&quot;</span>, <span class="keyword">nullptr</span>},</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;        {<span class="stringliteral">&quot;/object/currency&quot;</span>, <span class="stringliteral">&quot;USD&quot;</span>},</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        {<span class="stringliteral">&quot;/object/value&quot;</span>, 42.99},</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        {<span class="stringliteral">&quot;/pi&quot;</span>, 3.141}</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    };</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// call unflatten()</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_flattened.unflatten() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/PFBoQVT7RG0e0Wua"><b>online</b></a>): <pre class="fragment">{
     "answer": {
         "everything": 42
@@ -299,7 +301,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e">flatten()</a> for the reverse function</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09473">9473</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09865">9865</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -309,7 +311,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html b/classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html
index f8c4e68..e87c4ea 100644
--- a/classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html
+++ b/classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00231">231</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00262">262</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html b/classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html
new file mode 100644
index 0000000..160e8e8
--- /dev/null
+++ b/classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html
@@ -0,0 +1,352 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>JSON for Modern C++: nlohmann::basic_json::parse</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="mylayout.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">JSON for Modern C++
+   &#160;<span id="projectnumber">2.0.2</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespacenlohmann.html">nlohmann</a></li><li class="navelem"><a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="contents">
+<table cellspacing="0" cellpadding="0" border="0">
+  <tr>
+   <td valign="top">
+      <div class="navtab">
+        <table>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html#a0d46dd5ef4992fb80f9f0d9f56f16eae">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">clear</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">const_reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">const_reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">count</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">diff</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">empty</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e">flatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html#ac5693cff1df0775cd3fbe960412cde4b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html#a363da77bc39cae041d59ee334ac4f41b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">get_allocator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">is_number_integer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">is_primitive</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">is_structured</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">max_size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html#a101cd941eb8a5c299660449c71d0e75e">operator value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html#aef496a56163710084e13612ab73e6ed2">operator ValueType</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">operator&lt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">operator=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">operator&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">operator&gt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
+        </table>
+      </div>
+   </td>
+   <td valign="top" class="mempage">
+<a class="anchor" id="a0923f9749409345a21f8cb15ee95fc0d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;template&lt; typename U, typename V, typename...Args &gt; class ObjectType = std::map, template&lt; typename U, typename...Args &gt; class ArrayType = std::vector, class StringType  = std::string, class BooleanType  = bool, class NumberIntegerType  = std::int64_t, class NumberUnsignedType  = std::uint64_t, class NumberFloatType  = double, template&lt; typename U &gt; class AllocatorType = std::allocator&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> <a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a>::parse </td>
+          <td>(</td>
+          <td class="paramtype">std::istream &amp;&#160;</td>
+          <td class="paramname"><em>i</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a>&#160;</td>
+          <td class="paramname"><em>cb</em> = <code>nullptr</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">i</td><td>stream to read a serialized JSON value from </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>a parser callback function of type <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> which is used to control the deserialization by filtering unwanted values (optional)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>result of the deserialization</dd></dl>
+<dl class="section user"><dt>Complexity</dt><dd>Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function <em>cb</em> has a super-linear complexity.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>A UTF-8 byte order mark is silently ignored.</dd></dl>
+<dl class="section user"><dt>Example</dt><dd>The example below demonstrates the <code>parse()</code> function with and without callback function. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// a JSON text</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">auto</span> text = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="stringliteral">    {</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">        &quot;Image&quot;: {</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">            &quot;Width&quot;:  800,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">            &quot;Height&quot;: 600,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">            &quot;Title&quot;:  &quot;View from 15th Floor&quot;,</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral">            &quot;Thumbnail&quot;: {</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">                &quot;Url&quot;:    &quot;http://www.example.com/image/481989943&quot;,</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="stringliteral">                &quot;Height&quot;: 125,</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">                &quot;Width&quot;:  100</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="stringliteral">            },</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="stringliteral">            &quot;Animated&quot; : false,</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="stringliteral">            &quot;IDs&quot;: [116, 943, 234, 38793]</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="stringliteral">    }</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="stringliteral">    )&quot;;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="stringliteral">    </span><span class="comment">// fill a stream with JSON text</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    ss &lt;&lt; text;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="comment">// parse and serialize JSON</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_complete = <a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">json::parse</a>(ss);</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_complete &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="comment">// define parser callback</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">json::parser_callback_t</a> cb = [](<span class="keywordtype">int</span> depth, <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">json::parse_event_t</a> event, <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> &amp; parsed)</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="comment">// skip object elements with key &quot;Thumbnail&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keywordflow">if</span> (event == <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d">json::parse_event_t::key</a> and parsed == <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(<span class="stringliteral">&quot;Thumbnail&quot;</span>))</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        }</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    };</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">// fill a stream with JSON text</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    ss.clear();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    ss &lt;&lt; text;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="comment">// parse (with callback) and serialize JSON</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_filtered = <a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">json::parse</a>(ss, cb);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_filtered &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;}</div><div class="ttc" id="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080_html_a9a0b1acc13023170d2295eb512289080"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">nlohmann::basic_json::parse</a></div><div class="ttdeci">static basic_json parse(const string_t &amp;s, const parser_callback_t cb=nullptr)</div><div class="ttdoc">deserialize from string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05949">json.hpp:5949</a></div></div>
+<div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a_html_a9e35475e2027520a78e09f460dbe048a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">nlohmann::basic_json::parser_callback_t</a></div><div class="ttdeci">std::function&lt; bool(int depth, parse_event_t event, basic_json &amp;parsed)&gt; parser_callback_t</div><div class="ttdoc">per-element parser callback type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01002">json.hpp:1002</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d">nlohmann::basic_json::parse_event_t::key</a></div><div class="ttdoc">the parser read a key of a value in an object </div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafe"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">nlohmann::basic_json::parse_event_t</a></div><div class="ttdeci">parse_event_t</div><div class="ttdoc">JSON callback events. </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00932">json.hpp:932</a></div></div>
+</div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ir2u6Qbw18O89IWk"><b>online</b></a>): <pre class="fragment">{
+    "Image": {
+        "Animated": false,
+        "Height": 600,
+        "IDs": [
+            116,
+            943,
+            234,
+            38793
+        ],
+        "Thumbnail": {
+            "Height": 125,
+            "Url": "http://www.example.com/image/481989943",
+            "Width": 100
+        },
+        "Title": "View from 15th Floor",
+        "Width": 800
+    }
+}
+
+{
+    "Image": {
+        "Animated": false,
+        "Height": 600,
+        "IDs": [
+            116,
+            943,
+            234,
+            38793
+        ],
+        "Title": "View from 15th Floor",
+        "Width": 800
+    }
+}
+</pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/parse__istream__parser_callback_t.cpp -o parse__istream__parser_callback_t </pre></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse(const string_t&amp;, const parser_callback_t)</a> for a version that reads from a string</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
+
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05979">5979</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+
+</div>
+</div>
+    </td>
+  </tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html b/classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html
index 5f25387..11d6bae 100644
--- a/classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html
+++ b/classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -278,7 +280,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>back()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call back()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_null.back() &lt;&lt; &#39;\n&#39;;          // would throw</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_object_empty.back() &lt;&lt; &#39;\n&#39;;  // undefined behavior</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_array_empty.back() &lt;&lt; &#39;\n&#39;;   // undefined behavior</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>back()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call back()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_null.back() &lt;&lt; &#39;\n&#39;;          // would throw</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_object_empty.back() &lt;&lt; &#39;\n&#39;;  // undefined behavior</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_array_empty.back() &lt;&lt; &#39;\n&#39;;   // undefined behavior</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/nPVnBcHf8nrNpGOJ"><b>online</b></a>): <pre class="fragment">true
@@ -291,7 +293,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front()</a> &ndash; access the first element</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03695">3695</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03933">3933</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html b/classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html
index 4ab2dd5..05c4d0b 100644
--- a/classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html
+++ b/classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -307,7 +309,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be queried with a default value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object with different entry types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;integer&quot;</span>, 1},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;floating&quot;</span>, 42.23},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;hello world&quot;</span>},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {<span class="stringliteral">&quot;object&quot;</span>, {{<span class="stringliteral">&quot;key1&quot;</span>, 1}, {<span class="stringliteral">&quot;key2&quot;</span>, 2}}},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3}}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    };</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// access existing values</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordtype">int</span> v_integer = j.value(<span class="stringliteral">&quot;integer&quot;</span>, 0);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordtype">double</span> v_floating = j.value(<span class="stringliteral">&quot;floating&quot;</span>, 47.11);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// access nonexisting values and rely on default value</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::string v_string = j.value(<span class="stringliteral">&quot;nonexisting&quot;</span>, <span class="stringliteral">&quot;oops&quot;</span>);</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordtype">bool</span> v_boolean = j.value(<span class="stringliteral">&quot;nonexisting&quot;</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// output values</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; v_integer &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_floating</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_string &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_boolean &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be queried with a default value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object with different entry types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;integer&quot;</span>, 1},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;floating&quot;</span>, 42.23},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;hello world&quot;</span>},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {<span class="stringliteral">&quot;object&quot;</span>, {{<span class="stringliteral">&quot;key1&quot;</span>, 1}, {<span class="stringliteral">&quot;key2&quot;</span>, 2}}},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3}}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    };</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// access existing values</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordtype">int</span> v_integer = j.value(<span class="stringliteral">&quot;integer&quot;</span>, 0);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordtype">double</span> v_floating = j.value(<span class="stringliteral">&quot;floating&quot;</span>, 47.11);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// access nonexisting values and rely on default value</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::string v_string = j.value(<span class="stringliteral">&quot;nonexisting&quot;</span>, <span class="stringliteral">&quot;oops&quot;</span>);</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordtype">bool</span> v_boolean = j.value(<span class="stringliteral">&quot;nonexisting&quot;</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// output values</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; v_integer &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_floating</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_string &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_boolean &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/qdV5W2Lrljmjv4LG"><b>online</b></a>): <pre class="fragment">1 42.23 oops false
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__value.cpp -o basic_json__value </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at(const typename object_t::key_type&amp;)</a> for access by reference with range checking </dd>
@@ -315,7 +317,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[](const typename object_t::key_type&amp;)</a> for unchecked access by reference</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03588">3588</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03751">3751</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -325,7 +327,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html b/classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html
index 5a6ac26..5f158bc 100644
--- a/classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html
+++ b/classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -290,7 +292,7 @@
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0</dd></dl>
 <dl class="section note"><dt>Note</dt><dd>The order name/value pairs are added to the object is <em>not</em> preserved by the library. Therefore, iterating an object may return name/value pairs in a different order than they were originally stored. In fact, keys will be traversed in alphabetical order as <code>std::map</code> with <code>std::less</code> is used by default. Please note this behavior conforms to <a href="http://rfc7159.net/rfc7159">RFC 7159</a>, because any order implements the specified "unordered" nature of JSON objects. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00348">348</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00381">381</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html b/classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html
index 228eed3..5326a78 100644
--- a/classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html
+++ b/classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -286,7 +288,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The behavior is shown in the example. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;number&quot;</span>, 1}, {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;foo&quot;</span>}, {<span class="stringliteral">&quot;array&quot;</span>, {1, 2}}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// read-only access</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/number&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/number&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/string&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/string&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/array&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array/1&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The behavior is shown in the example. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;number&quot;</span>, 1}, {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;foo&quot;</span>}, {<span class="stringliteral">&quot;array&quot;</span>, {1, 2}}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// read-only access</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/number&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/number&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/string&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/string&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/array&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array/1&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/OuLYiMJ3pgyOHupb"><b>online</b></a>): <pre class="fragment">1
 "foo"
 [1,2]
@@ -294,7 +296,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/at_json_pointer_const.cpp -o at_json_pointer_const </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09412">9412</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09804">9804</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -304,7 +306,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html b/classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html
index 88b8293..6c9a1a4 100644
--- a/classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html
+++ b/classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,8 +287,8 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows the construction of an integer number value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number from number_integer_t</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a> value = 42;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(value);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00539">json.hpp:539</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows the construction of an integer number value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number from number_integer_t</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a> value = 42;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(value);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00572">json.hpp:572</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/cCQRCvjXdRM9YpT5"><b>online</b></a>): <pre class="fragment">42
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__number_integer_t.cpp -o basic_json__number_integer_t </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json(const int)</a> &ndash; create a number value (integer) </dd>
@@ -294,7 +296,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json(const CompatibleNumberIntegerType)</a> &ndash; create a number value (integer) from a compatible number type</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01279">1279</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01386">1386</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -304,7 +306,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html b/classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html
index e93b667..ed42ce3 100644
--- a/classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html
+++ b/classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is object, <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_object()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_object()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_object()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_object()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_object() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/TW8VagDAhVeaItcp"><b>online</b></a>): <pre class="fragment">false
 false
 false
@@ -284,7 +286,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/is_object.cpp -o is_object </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02371">2371</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02510">2510</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -294,7 +296,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html b/classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html
index 83009c2..1c86cb4 100644
--- a/classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html
+++ b/classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,15 +274,15 @@
 <dl class="section return"><dt>Returns</dt><dd>the type of the JSON value</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies the <a class="el" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> operator for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// call operator value_t()</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_null = j_null;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_boolean = j_boolean;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_number_integer = j_number_integer;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_number_float = j_number_float;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_object = j_object;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_array = j_array;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_string = j_string;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// print types</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; (t_null == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">json::value_t::null</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; (t_boolean == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27">json::value_t::boolean</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; (t_number_integer == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">json::value_t::number_integer</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    std::cout &lt;&lt; (t_number_float == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef">json::value_t::number_float</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    std::cout &lt;&lt; (t_object == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    std::cout &lt;&lt; (t_array == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    std::cout &lt;&lt; (t_string == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21">json::value_t::string</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies the <a class="el" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> operator for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// call operator value_t()</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_null = j_null;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_boolean = j_boolean;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_number_integer = j_number_integer;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_number_float = j_number_float;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_object = j_object;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_array = j_array;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">json::value_t</a> t_string = j_string;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// print types</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; (t_null == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">json::value_t::null</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; (t_boolean == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27">json::value_t::boolean</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; (t_number_integer == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">json::value_t::number_integer</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    std::cout &lt;&lt; (t_number_float == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef">json::value_t::number_float</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    std::cout &lt;&lt; (t_object == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    std::cout &lt;&lt; (t_array == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    std::cout &lt;&lt; (t_string == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21">json::value_t::string</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21">nlohmann::basic_json::value_t::string</a></div><div class="ttdoc">string value </div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">nlohmann::basic_json::value_t</a></div><div class="ttdeci">value_t</div><div class="ttdoc">the JSON type enumeration </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00698">json.hpp:698</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">nlohmann::basic_json::value_t</a></div><div class="ttdeci">value_t</div><div class="ttdoc">the JSON type enumeration </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00742">json.hpp:742</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">nlohmann::basic_json::value_t::null</a></div><div class="ttdoc">null value </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef">nlohmann::basic_json::value_t::number_float</a></div><div class="ttdoc">number value (floating-point) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27">nlohmann::basic_json::value_t::boolean</a></div><div class="ttdoc">boolean value </div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">nlohmann::basic_json::value_t::number_integer</a></div><div class="ttdoc">number value (integer) </div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">nlohmann::basic_json::value_t::number_integer</a></div><div class="ttdoc">number value (signed integer) </div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/n1XysfgD6muGNQdE"><b>online</b></a>): <pre class="fragment">true
 true
 true
@@ -291,7 +293,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__value_t.cpp -o operator__value_t </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02465">2465</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02604">2604</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html b/classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html
new file mode 100644
index 0000000..c14795e
--- /dev/null
+++ b/classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html
@@ -0,0 +1,349 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>JSON for Modern C++: nlohmann::basic_json::basic_json</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="mylayout.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">JSON for Modern C++
+   &#160;<span id="projectnumber">2.0.2</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespacenlohmann.html">nlohmann</a></li><li class="navelem"><a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="contents">
+<table cellspacing="0" cellpadding="0" border="0">
+  <tr>
+   <td valign="top">
+      <div class="navtab">
+        <table>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html#a0d46dd5ef4992fb80f9f0d9f56f16eae">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">clear</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">const_reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">const_reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">count</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">diff</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">empty</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e">flatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html#ac5693cff1df0775cd3fbe960412cde4b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html#a363da77bc39cae041d59ee334ac4f41b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">get_allocator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">is_number_integer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">is_primitive</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">is_structured</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">max_size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html#a101cd941eb8a5c299660449c71d0e75e">operator value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html#aef496a56163710084e13612ab73e6ed2">operator ValueType</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">operator&lt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">operator=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">operator&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">operator&gt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
+        </table>
+      </div>
+   </td>
+   <td valign="top" class="mempage">
+<a class="anchor" id="a110eb65dc3e34e1cebd28a10218c6d70"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;template&lt; typename U, typename V, typename...Args &gt; class ObjectType = std::map, template&lt; typename U, typename...Args &gt; class ArrayType = std::vector, class StringType  = std::string, class BooleanType  = bool, class NumberIntegerType  = std::int64_t, class NumberUnsignedType  = std::uint64_t, class NumberFloatType  = double, template&lt; typename U &gt; class AllocatorType = std::allocator&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a>::<a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> </td>
+          <td>(</td>
+          <td class="paramtype">std::istream &amp;&#160;</td>
+          <td class="paramname"><em>i</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a>&#160;</td>
+          <td class="paramname"><em>cb</em> = <code>nullptr</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">i</td><td>stream to read a serialized JSON value from </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>a parser callback function of type <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> which is used to control the deserialization by filtering unwanted values (optional)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt>Complexity</dt><dd>Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function <em>cb</em> has a super-linear complexity.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>A UTF-8 byte order mark is silently ignored.</dd></dl>
+<dl class="section user"><dt>Example</dt><dd>The example below demonstrates constructing a JSON value from a <code>std::stringstream</code> with and without callback function. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// a JSON text</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">auto</span> text = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="stringliteral">    {</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">        &quot;Image&quot;: {</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">            &quot;Width&quot;:  800,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">            &quot;Height&quot;: 600,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">            &quot;Title&quot;:  &quot;View from 15th Floor&quot;,</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral">            &quot;Thumbnail&quot;: {</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">                &quot;Url&quot;:    &quot;http://www.example.com/image/481989943&quot;,</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="stringliteral">                &quot;Height&quot;: 125,</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">                &quot;Width&quot;:  100</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="stringliteral">            },</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="stringliteral">            &quot;Animated&quot; : false,</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="stringliteral">            &quot;IDs&quot;: [116, 943, 234, 38793]</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="stringliteral">    }</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="stringliteral">    )&quot;;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="stringliteral">    </span><span class="comment">// fill a stream with JSON text</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    ss &lt;&lt; text;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="comment">// create JSON from stream</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_complete(ss);</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_complete &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="comment">// define parser callback</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">json::parser_callback_t</a> cb = [](<span class="keywordtype">int</span> depth, <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">json::parse_event_t</a> event, <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> &amp; parsed)</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="comment">// skip object elements with key &quot;Thumbnail&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keywordflow">if</span> (event == <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d">json::parse_event_t::key</a> and parsed == <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(<span class="stringliteral">&quot;Thumbnail&quot;</span>))</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        }</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    };</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">// fill a stream with JSON text</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    ss.clear();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    ss &lt;&lt; text;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="comment">// create JSON from stream (with callback)</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_filtered(ss, cb);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_filtered &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a_html_a9e35475e2027520a78e09f460dbe048a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">nlohmann::basic_json::parser_callback_t</a></div><div class="ttdeci">std::function&lt; bool(int depth, parse_event_t event, basic_json &amp;parsed)&gt; parser_callback_t</div><div class="ttdoc">per-element parser callback type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01002">json.hpp:1002</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d">nlohmann::basic_json::parse_event_t::key</a></div><div class="ttdoc">the parser read a key of a value in an object </div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafe"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">nlohmann::basic_json::parse_event_t</a></div><div class="ttdeci">parse_event_t</div><div class="ttdoc">JSON callback events. </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00932">json.hpp:932</a></div></div>
+</div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/VzSqLszbnoWE92dD"><b>online</b></a>): <pre class="fragment">{
+    "Image": {
+        "Animated": false,
+        "Height": 600,
+        "IDs": [
+            116,
+            943,
+            234,
+            38793
+        ],
+        "Thumbnail": {
+            "Height": 125,
+            "Url": "http://www.example.com/image/481989943",
+            "Width": 100
+        },
+        "Title": "View from 15th Floor",
+        "Width": 800
+    }
+}
+
+{
+    "Image": {
+        "Animated": false,
+        "Height": 600,
+        "IDs": [
+            116,
+            943,
+            234,
+            38793
+        ],
+        "Title": "View from 15th Floor",
+        "Width": 800
+    }
+}
+</pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__istream.cpp -o basic_json__istream </pre></dd></dl>
+<dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
+
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01979">1979</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+
+</div>
+</div>
+    </td>
+  </tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html b/classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html
index 1fab221..6a4a64f 100644
--- a/classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html
+++ b/classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -288,14 +290,14 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in <em>cnt</em>.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows examples for the <a class="el" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json(size_type, const basic_json&amp;)</a> constructor. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array by creating copies of a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = <span class="stringliteral">&quot;Hello&quot;</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_0 = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(0, value);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(1, value);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_5 = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(5, value);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; array_0 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array_5 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows examples for the <a class="el" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json(size_type, const basic_json&amp;)</a> constructor. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array by creating copies of a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = <span class="stringliteral">&quot;Hello&quot;</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_0 = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(0, value);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(1, value);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_5 = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(5, value);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; array_0 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array_5 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/IFZT4VL0oRotJBxl"><b>online</b></a>): <pre class="fragment">[]
 ["Hello"]
 ["Hello","Hello","Hello","Hello","Hello"]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__size_type_basic_json.cpp -o basic_json__size_type_basic_json </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01709">1709</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01821">1821</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -305,7 +307,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html b/classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html
index e646b12..457487b 100644
--- a/classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html
+++ b/classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -293,7 +295,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>whether the values <em>lhs</em> and <em>rhs</em> are equal</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.000000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 == array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 == object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 == number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 == string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.000000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 == array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 == object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 == number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 == string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/sBTv52u9kI2gjeFJ"><b>online</b></a>): <pre class="fragment">[1,2,3] == [1,2,4] false
 {"A":"a","B":"b"} == {"A":"a","B":"b"} true
 17 == 17 true
@@ -301,7 +303,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__equal.cpp -o operator__equal </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05280">5280</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05514">5514</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -311,7 +313,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html b/classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html
index 279add2..605efbe 100644
--- a/classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html
+++ b/classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,7 +281,7 @@
 <li>The complexity is constant.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>end()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to one past the last element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::iterator it = array.end();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// decrement the iterator to point to the last element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>end()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to one past the last element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::iterator it = array.end();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// decrement the iterator to point to the last element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/4Fbmy4IG012HmGKs"><b>online</b></a>): <pre class="fragment">5
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/end.cpp -o end </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend()</a> &ndash; returns a const iterator to the end </dd>
@@ -289,7 +291,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin()</a> &ndash; returns a const iterator to the beginning</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04193">4193</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04428">4428</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html b/classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html
index e17e48a..3cf7725 100644
--- a/classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html
+++ b/classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is number (regardless whether integer, unsigned integer or floating-type), <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_number()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_number()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_number()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_number()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_number() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/97mIrpY9h1rodAfI"><b>online</b></a>): <pre class="fragment">false
 false
 true
@@ -289,7 +291,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float()</a> &ndash; check if value is a floating-point number</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02264">2264</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02403">2403</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html b/classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html
index 663afdb..8836f3e 100644
--- a/classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html
+++ b/classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -287,7 +289,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read and written using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// change element with key &quot;three&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;three&quot;</span>] = 3;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// mention nonexisting key</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;four&quot;</span>];</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// write to nonexisting key</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;five&quot;</span>][<span class="stringliteral">&quot;really&quot;</span>][<span class="stringliteral">&quot;nested&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output changed object</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read and written using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// change element with key &quot;three&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;three&quot;</span>] = 3;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// mention nonexisting key</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;four&quot;</span>];</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// write to nonexisting key</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;five&quot;</span>][<span class="stringliteral">&quot;really&quot;</span>][<span class="stringliteral">&quot;nested&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output changed object</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ujLOsxCRQE3T8cYO"><b>online</b></a>): <pre class="fragment">2
 
 {
@@ -313,7 +315,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value()</a> for access by value with a default value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03404">3404</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03568">3568</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -323,7 +325,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html b/classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html
index 25b2755..2323c5b 100644
--- a/classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html
+++ b/classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00223">223</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00254">254</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html b/classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html
index 347a365..ff78162 100644
--- a/classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html
+++ b/classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,7 +282,7 @@
 <li>Has the semantics of <code>const_cast&lt;const basic_json&amp;&gt;(*this).end()</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>cend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to one past the last element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::const_iterator it = array.cend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// decrement the iterator to point to the last element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>cend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to one past the last element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::const_iterator it = array.cend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// decrement the iterator to point to the last element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/9oPbpnFNgKtKjB0O"><b>online</b></a>): <pre class="fragment">5
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/cend.cpp -o cend </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end()</a> &ndash; returns an iterator to the end </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin()</a> &ndash; returns a const iterator to the beginning</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04233">4233</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04468">4468</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html b/classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html
index 1bf73f3..3187ee1 100644
--- a/classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html
+++ b/classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -269,7 +271,7 @@
 </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00248">248</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00279">279</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -279,7 +281,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html b/classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html
index b2e3ae9..c4ae546 100644
--- a/classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html
+++ b/classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is array, <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_array()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_array()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_array()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_array()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_array() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/hGGh0jnNmRo7bYAZ"><b>online</b></a>): <pre class="fragment">false
 false
 false
@@ -284,7 +286,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/is_array.cpp -o is_array </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02393">2393</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02532">2532</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -294,7 +296,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html b/classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html
index f74f603..823bda6 100644
--- a/classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html
+++ b/classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,7 +285,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Amortized constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON array. Note how the <code>null</code> value was silently converted to a JSON array. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    array.push_back(6);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    array += 7;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += <span class="stringliteral">&quot;first&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON array. Note how the <code>null</code> value was silently converted to a JSON array. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    array.push_back(6);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    array += 7;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += <span class="stringliteral">&quot;first&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/zz3xkIXJYVhmYAla"><b>online</b></a>): <pre class="fragment">[1,2,3,4,5]
 null
 [1,2,3,4,5,6,7]
@@ -291,7 +293,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/push_back.cpp -o push_back </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04734">4734</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04974">4974</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html b/classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html
index 2c67dd3..6dfe182 100644
--- a/classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html
+++ b/classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size of the JSON value.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers, (2) A JSON array can be converted to a standard <code>std::vector&lt;short&gt;</code>, (3) A JSON object can be converted to C++ associative containers such as <code>std::unordered_map&lt;std::string, json&gt;</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;{</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="comment">// create a JSON value with different types</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> json_types =</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    {</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;            <span class="stringliteral">&quot;number&quot;</span>, {</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;                {<span class="stringliteral">&quot;integer&quot;</span>, 42},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;                {<span class="stringliteral">&quot;floating-point&quot;</span>, 17.23}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;            }</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;        },</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;Hello, world!&quot;</span>},</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3, 4, 5}},</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        {<span class="stringliteral">&quot;null&quot;</span>, <span class="keyword">nullptr</span>}</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    };</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="comment">// use explicit conversions</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keyword">auto</span> v1 = json_types[<span class="stringliteral">&quot;boolean&quot;</span>].get&lt;<span class="keywordtype">bool</span>&gt;();</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="keyword">auto</span> v2 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;integer&quot;</span>].get&lt;<span class="keywordtype">int</span>&gt;();</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keyword">auto</span> v3 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;integer&quot;</span>].get&lt;<span class="keywordtype">short</span>&gt;();</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keyword">auto</span> v4 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;floating-point&quot;</span>].get&lt;<span class="keywordtype">float</span>&gt;();</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keyword">auto</span> v5 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;floating-point&quot;</span>].get&lt;<span class="keywordtype">int</span>&gt;();</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keyword">auto</span> v6 = json_types[<span class="stringliteral">&quot;string&quot;</span>].get&lt;std::string&gt;();</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="keyword">auto</span> v7 = json_types[<span class="stringliteral">&quot;array&quot;</span>].get&lt;std::vector&lt;short&gt;&gt;();</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="keyword">auto</span> v8 = json_types.get&lt;std::unordered_map&lt;std::string, json&gt;&gt;();</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="comment">// print the conversion results</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    std::cout &lt;&lt; v1 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    std::cout &lt;&lt; v2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; v3 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    std::cout &lt;&lt; v4 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; v5 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    std::cout &lt;&lt; v6 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i : v7)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        std::cout &lt;&lt; i &lt;&lt; <span class="charliteral">&#39; &#39;</span>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    }</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i : v8)</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    {</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        std::cout &lt;&lt; i.first &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; i.second &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    }</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers, (2) A JSON array can be converted to a standard <code>std::vector&lt;short&gt;</code>, (3) A JSON object can be converted to C++ associative containers such as <code>std::unordered_map&lt;std::string, json&gt;</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;{</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="comment">// create a JSON value with different types</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> json_types =</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    {</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;            <span class="stringliteral">&quot;number&quot;</span>, {</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;                {<span class="stringliteral">&quot;integer&quot;</span>, 42},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;                {<span class="stringliteral">&quot;floating-point&quot;</span>, 17.23}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;            }</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;        },</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;Hello, world!&quot;</span>},</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3, 4, 5}},</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        {<span class="stringliteral">&quot;null&quot;</span>, <span class="keyword">nullptr</span>}</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    };</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="comment">// use explicit conversions</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keyword">auto</span> v1 = json_types[<span class="stringliteral">&quot;boolean&quot;</span>].get&lt;<span class="keywordtype">bool</span>&gt;();</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="keyword">auto</span> v2 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;integer&quot;</span>].get&lt;<span class="keywordtype">int</span>&gt;();</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keyword">auto</span> v3 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;integer&quot;</span>].get&lt;<span class="keywordtype">short</span>&gt;();</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keyword">auto</span> v4 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;floating-point&quot;</span>].get&lt;<span class="keywordtype">float</span>&gt;();</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keyword">auto</span> v5 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;floating-point&quot;</span>].get&lt;<span class="keywordtype">int</span>&gt;();</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keyword">auto</span> v6 = json_types[<span class="stringliteral">&quot;string&quot;</span>].get&lt;std::string&gt;();</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="keyword">auto</span> v7 = json_types[<span class="stringliteral">&quot;array&quot;</span>].get&lt;std::vector&lt;short&gt;&gt;();</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="keyword">auto</span> v8 = json_types.get&lt;std::unordered_map&lt;std::string, json&gt;&gt;();</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="comment">// print the conversion results</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    std::cout &lt;&lt; v1 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    std::cout &lt;&lt; v2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; v3 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    std::cout &lt;&lt; v4 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; v5 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    std::cout &lt;&lt; v6 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i : v7)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        std::cout &lt;&lt; i &lt;&lt; <span class="charliteral">&#39; &#39;</span>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    }</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i : v8)</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    {</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        std::cout &lt;&lt; i.first &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; i.second &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    }</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ksZAkIKQnYhJKLpN"><b>online</b></a>): <pre class="fragment">1
 42 42
 17.23 17
@@ -303,7 +305,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html#ac5693cff1df0775cd3fbe960412cde4b">get()</a> for pointer-member access</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02809">2809</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02944">2944</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -313,7 +315,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html b/classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html
index 0236f8a..0448140 100644
--- a/classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html
+++ b/classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,16 +287,16 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how array elements can be read and written using <code>at()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a> = {<span class="stringliteral">&quot;first&quot;</span>, <span class="stringliteral">&quot;2nd&quot;</span>, <span class="stringliteral">&quot;third&quot;</span>, <span class="stringliteral">&quot;fourth&quot;</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// output element at index 2 (third element)</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; array.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// change element at index 1 (second element) to &quot;second&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    array.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(1) = <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// try to write beyond the array limit</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    {</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        array.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(5) = <span class="stringliteral">&quot;sixth&quot;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    }</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordflow">catch</span> (std::out_of_range&amp; e)</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    {</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;out of range: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    }</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f_html_a5685815624b086caa532f41e853d4b0f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">nlohmann::basic_json::array</a></div><div class="ttdeci">static basic_json array(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an array from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01645">json.hpp:1645</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9_html_a214a8c22d616fd3567b88932c07436c9"><div class="ttname"><a href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">nlohmann::basic_json::at</a></div><div class="ttdeci">reference at(size_type idx)</div><div class="ttdoc">access specified array element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03039">json.hpp:3039</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how array elements can be read and written using <code>at()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a> = {<span class="stringliteral">&quot;first&quot;</span>, <span class="stringliteral">&quot;2nd&quot;</span>, <span class="stringliteral">&quot;third&quot;</span>, <span class="stringliteral">&quot;fourth&quot;</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// output element at index 2 (third element)</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; array.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// change element at index 1 (second element) to &quot;second&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    array.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(1) = <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// try to write beyond the array limit</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    {</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;        array.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(5) = <span class="stringliteral">&quot;sixth&quot;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    }</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordflow">catch</span> (std::out_of_range&amp; e)</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    {</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;out of range: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    }</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f_html_a5685815624b086caa532f41e853d4b0f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">nlohmann::basic_json::array</a></div><div class="ttdeci">static basic_json array(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an array from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01757">json.hpp:1757</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9_html_a214a8c22d616fd3567b88932c07436c9"><div class="ttname"><a href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">nlohmann::basic_json::at</a></div><div class="ttdeci">reference at(size_type idx)</div><div class="ttdoc">access specified array element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03207">json.hpp:3207</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/R7z2SB2rMdFQ9XtR"><b>online</b></a>): <pre class="fragment">"third"
 ["first","second","third","fourth"]
 out of range: array index 5 is out of range
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/at__size_type.cpp -o at__size_type </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03039">3039</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03207">3207</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -304,7 +306,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html b/classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html
index 33972ef..02a780e 100644
--- a/classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html
+++ b/classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -265,7 +267,9 @@
   </tr>
 </table>
 </div><div class="memdoc">
-<p>This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions <a class="el" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null()</a>, <a class="el" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object()</a>, <a class="el" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array()</a>, <a class="el" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string()</a>, <a class="el" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean()</a>, <a class="el" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number()</a>, and <a class="el" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded()</a> rely on it.</p>
+<p>This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions <a class="el" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null()</a>, <a class="el" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object()</a>, <a class="el" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array()</a>, <a class="el" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string()</a>, <a class="el" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean()</a>, <a class="el" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number()</a> (with <a class="el" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">is_number_integer()</a>, <a class="el" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned()</a>, and <a class="el" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float()</a>), <a class="el" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded()</a>, <a class="el" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">is_primitive()</a>, and <a class="el" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">is_structured()</a> rely on it.</p>
+<dl class="section note"><dt>Note</dt><dd>There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library distinguishes these three types for numbers: <a class="el" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> is used for unsigned integers, <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> is used for signed integers, and <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> is used for floating-point numbers or to approximate integers which do not fit in the limits of their respective type.</dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">basic_json(const value_t value_type)</a> &ndash; create a JSON value with the default value for a given type</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd"></a>null&#160;</td><td class="fielddoc">
@@ -284,7 +288,7 @@
 <p>boolean value </p>
 </td></tr>
 <tr><td class="fieldname"><a class="anchor" id="a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc"></a>number_integer&#160;</td><td class="fielddoc">
-<p>number value (integer) </p>
+<p>number value (signed integer) </p>
 </td></tr>
 <tr><td class="fieldname"><a class="anchor" id="a231b02148577b69a154b2ce2c87a5522adce7cc8ec29055c4158828921f2f265e"></a>number_unsigned&#160;</td><td class="fielddoc">
 <p>number value (unsigned integer) </p>
@@ -297,7 +301,7 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00698">698</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00742">742</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +311,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html b/classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html
new file mode 100644
index 0000000..9e7f438
--- /dev/null
+++ b/classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html
@@ -0,0 +1,329 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>JSON for Modern C++: nlohmann::basic_json::value</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="mylayout.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">JSON for Modern C++
+   &#160;<span id="projectnumber">2.0.2</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespacenlohmann.html">nlohmann</a></li><li class="navelem"><a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="contents">
+<table cellspacing="0" cellpadding="0" border="0">
+  <tr>
+   <td valign="top">
+      <div class="navtab">
+        <table>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html#a0d46dd5ef4992fb80f9f0d9f56f16eae">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">clear</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">const_reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">const_reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">count</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">diff</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">empty</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e">flatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html#ac5693cff1df0775cd3fbe960412cde4b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html#a363da77bc39cae041d59ee334ac4f41b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">get_allocator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">is_number_integer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">is_primitive</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">is_structured</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">max_size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html#a101cd941eb8a5c299660449c71d0e75e">operator value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html#aef496a56163710084e13612ab73e6ed2">operator ValueType</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">operator&lt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">operator=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">operator&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">operator&gt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
+        </table>
+      </div>
+   </td>
+   <td valign="top" class="mempage">
+<a class="anchor" id="a24bc3d5e7fc671a406cc521fbe58e736"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;template&lt; typename U, typename V, typename...Args &gt; class ObjectType = std::map, template&lt; typename U, typename...Args &gt; class ArrayType = std::vector, class StringType  = std::string, class BooleanType  = bool, class NumberIntegerType  = std::int64_t, class NumberUnsignedType  = std::uint64_t, class NumberFloatType  = double, template&lt; typename U &gt; class AllocatorType = std::allocator&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> <a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a>::value </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> &amp;&#160;</td>
+          <td class="paramname"><em>ptr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>default_value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>access specified object element via JSON Pointer with default value Returns either a copy of an object's element at the specified key <em>key</em> or a given default value if no element with key <em>key</em> exists.</p>
+<p>The function is basically equivalent to executing </p><div class="fragment"><div class="line"><span class="keywordflow">try</span> {</div><div class="line">    <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(ptr);</div><div class="line">} <span class="keywordflow">catch</span>(std::out_of_range) {</div><div class="line">    <span class="keywordflow">return</span> default_value;</div><div class="line">}</div></div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>Unlike <a class="el" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236">at(const json_pointer&amp;)</a>, this function does not throw if the given key <em>key</em> was not found.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>a JSON pointer to the element to access </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">default_value</td><td>the value to return if <em>ptr</em> found no value</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">ValueType</td><td>type compatible to JSON values, for instance <code>int</code> for JSON integer numbers, <code>bool</code> for JSON booleans, or <code>std::vector</code> types for JSON arrays. Note the type of the expected value at <em>key</em> and the default value <em>default_value</em> must be compatible.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>copy of the element at key <em>key</em> or <em>default_value</em> if <em>key</em> is not found</dd></dl>
+<dl class="exception"><dt>Exceptions</dt><dd>
+  <table class="exception">
+    <tr><td class="paramname">std::domain_error</td><td>if JSON is not an object; example: <code>"cannot use
+value() with null"</code></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be queried with a default value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object with different entry types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;integer&quot;</span>, 1},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;floating&quot;</span>, 42.23},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;hello world&quot;</span>},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {<span class="stringliteral">&quot;object&quot;</span>, {{<span class="stringliteral">&quot;key1&quot;</span>, 1}, {<span class="stringliteral">&quot;key2&quot;</span>, 2}}},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3}}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    };</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// access existing values</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordtype">int</span> v_integer = j.value(<span class="stringliteral">&quot;/integer&quot;</span>_json_pointer, 0);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordtype">double</span> v_floating = j.value(<span class="stringliteral">&quot;/floating&quot;</span>_json_pointer, 47.11);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// access nonexisting values and rely on default value</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::string v_string = j.value(<span class="stringliteral">&quot;/nonexisting&quot;</span>_json_pointer, <span class="stringliteral">&quot;oops&quot;</span>);</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordtype">bool</span> v_boolean = j.value(<span class="stringliteral">&quot;/nonexisting&quot;</span>_json_pointer, <span class="keyword">false</span>);</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// output values</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; v_integer &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_floating</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_string &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_boolean &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+</div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/K4L4D6nibuGXbjfd"><b>online</b></a>): <pre class="fragment">1 42.23 oops false
+</pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__value_ptr.cpp -o basic_json__value_ptr </pre></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[](const json_pointer&amp;)</a> for unchecked access by reference</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>version 2.0.2 </dd></dl>
+
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03852">3852</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+
+</div>
+</div>
+    </td>
+  </tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html b/classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html
index b76286c..0fa5fbf 100644
--- a/classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html
+++ b/classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
 </ul>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05233">5233</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05467">5467</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +297,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html b/classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html
index 2310ae8..93ba390 100644
--- a/classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html
+++ b/classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -314,7 +316,7 @@
 <li>other types: constant</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows the result of <code>erase()</code> for different JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// call erase</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    j_boolean.erase(j_boolean.begin(), j_boolean.end());</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    j_number_integer.erase(j_number_integer.begin(), j_number_integer.end());</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    j_number_float.erase(j_number_float.begin(), j_number_float.end());</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j_object.erase(j_object.find(<span class="stringliteral">&quot;two&quot;</span>), j_object.end());</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    j_array.erase(j_array.begin() + 1, j_array.begin() + 3);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    j_string.erase(j_string.begin(), j_string.end());</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_boolean &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_number_integer &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_number_float &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j_string &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows the result of <code>erase()</code> for different JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// call erase</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    j_boolean.erase(j_boolean.begin(), j_boolean.end());</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    j_number_integer.erase(j_number_integer.begin(), j_number_integer.end());</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    j_number_float.erase(j_number_float.begin(), j_number_float.end());</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j_object.erase(j_object.find(<span class="stringliteral">&quot;two&quot;</span>), j_object.end());</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    j_array.erase(j_array.begin() + 1, j_array.begin() + 3);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    j_string.erase(j_string.begin(), j_string.end());</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_boolean &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_number_integer &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_number_float &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j_string &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/zGMngigiwwhsXEhB"><b>online</b></a>): <pre class="fragment">null
 null
 null
@@ -329,7 +331,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase(const size_type)</a> &ndash; removes the element from an array at the given index</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03861">3861</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04100">4100</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -339,7 +341,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html b/classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html
index 6fef8a6..3be99f6 100644
--- a/classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html
+++ b/classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -281,8 +283,8 @@
 </blockquote>
 In case the parameter <em>val</em> is not a number, a JSON null value is created instead.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following example creates several floating-point values. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create values of different floating-point types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a> v_ok = 3.141592653589793;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a> v_nan = NAN;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a> v_infinity = INFINITY;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// create JSON numbers</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_ok(v_ok);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nan(v_nan);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_infinity(v_infinity);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_ok &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_nan &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_infinity &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00679">json.hpp:679</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following example creates several floating-point values. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create values of different floating-point types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a> v_ok = 3.141592653589793;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a> v_nan = NAN;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a> v_infinity = INFINITY;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// create JSON numbers</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_ok(v_ok);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nan(v_nan);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_infinity(v_infinity);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_ok &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_nan &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_infinity &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00711">json.hpp:711</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/OTgOxjIAKFvxpFdm"><b>online</b></a>): <pre class="fragment">3.14159265358979
 null
 null
@@ -290,7 +292,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">basic_json(const CompatibleNumberFloatType)</a> &ndash; create a number value (floating-point) from a compatible number type</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01433">1433</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01550">1550</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html b/classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html
index 961fb19..023e6d0 100644
--- a/classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html
+++ b/classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -286,7 +288,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/x6rzLLCk96NM36Tl"><b>online</b></a>): <pre class="fragment">2
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operatorarray__key_type_const.cpp -o operatorarray__key_type_const </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at(const typename object_t::key_type&amp;)</a> for access by reference with range checking </dd>
@@ -294,7 +296,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value()</a> for access by value with a default value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03361">3361</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03526">3526</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -304,7 +306,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html b/classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html
index cc3f9c8..13e9245 100644
--- a/classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html
+++ b/classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00238">238</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00269">269</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html b/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html
index aee25ea..f8d6c7c 100644
--- a/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html
+++ b/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,6 +282,7 @@
 </table>
 </div><div class="memdoc">
 <p>serialize to stream Serialize the given JSON value <em>j</em> to the output stream <em>o</em>. The JSON value will be serialized using the <a class="el" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a> member function. The indentation of the output can be controlled with the member variable <code>width</code> of the output stream <em>o</em>. For instance, using the manipulator <code>std::setw(4)</code> on <em>o</em> sets the indentation level to <code>4</code> and the serialization result is the same as calling <code>dump(4)</code>.</p>
+<dl class="section note"><dt>Note</dt><dd>During serializaion, the locale and the precision of the output stream <em>o</em> are changed. The original values are restored when the function returns.</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in,out]</td><td class="paramname">o</td><td>stream to serialize to </td></tr>
@@ -289,7 +292,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>the stream <em>o</em> </dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows the serialization with different parameters to <code>width</code> to adjust the indentation level. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// serialize without indentation</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// serialize with indentation</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_object &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; std::setw(2) &lt;&lt; j_array &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows the serialization with different parameters to <code>width</code> to adjust the indentation level. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// serialize without indentation</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// serialize with indentation</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_object &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; std::setw(2) &lt;&lt; j_array &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/NOtGXsCLXYHRG6ML"><b>online</b></a>): <pre class="fragment">{"one":1,"two":2}
 
 [1,2,4,8,16]
@@ -310,7 +313,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator_serialize.cpp -o operator_serialize </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05675">5675</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05910">5910</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -320,7 +323,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html b/classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html
index e3fe265..e43e5f9 100644
--- a/classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html
+++ b/classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,16 +282,17 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>pointer to the internally stored JSON value if the requested pointer type <em>PointerType</em> fits to the JSON value; <code>nullptr</code> otherwise</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a <code>nullptr</code> is returned if the value and the requested pointer type does not match. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting pointers</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> p1 = value.get&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> p2 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keyword">auto</span> p3 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> p4 = value.get&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keyword">auto</span> p5 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>*&gt;();</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// print the pointees</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; *p1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p3 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p4 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (p5 == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00539">json.hpp:539</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00679">json.hpp:679</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a <code>nullptr</code> is returned if the value and the requested pointer type does not match. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <a class="code" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a> = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting pointers</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> p1 = value.get&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> p2 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keyword">auto</span> p3 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> p4 = value.get&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keyword">auto</span> p5 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>*&gt;();</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// print the pointees</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; *p1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p3 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p4 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (p5 == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00572">json.hpp:572</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00711">json.hpp:711</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0_html_a0a2cbbd95862a623e7dc5c37e67dead0"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">nlohmann::basic_json::value</a></div><div class="ttdeci">ValueType value(const typename object_t::key_type &amp;key, ValueType default_value) const </div><div class="ttdoc">access specified object element with default value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03751">json.hpp:3751</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/TRkhQoCdScWQqi3x"><b>online</b></a>): <pre class="fragment">17 17 17 17
 true
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/get__PointerType.cpp -o get__PointerType </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr()</a> for explicit pointer-member access</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02858">2858</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02994">2994</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html b/classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html
index ffbb672..0d5d671 100644
--- a/classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html
+++ b/classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,7 +285,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with string literal parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON string directly from a string literal</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(<span class="stringliteral">&quot;The quick brown fox jumps over the lazy doc&quot;</span>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// serialize the JSON array</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with string literal parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON string directly from a string literal</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(<span class="stringliteral">&quot;The quick brown fox jumps over the lazy doc&quot;</span>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// serialize the JSON array</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/AtV4zVErfLwkileg"><b>online</b></a>): <pre class="fragment">"The quick brown fox jumps over the lazy doc"
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__string_t_value_type.cpp -o basic_json__string_t_value_type </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json(const string_t&amp;)</a> &ndash; create a string value </dd>
@@ -291,7 +293,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json(const CompatibleStringType&amp;)</a> &ndash; create a string value from a compatible string container</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01197">1197</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01298">1298</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html b/classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html
index 66be4c8..0825c56 100644
--- a/classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html
+++ b/classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,14 +285,14 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how objects can be swapped with <code>swap()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = { {<span class="stringliteral">&quot;translation&quot;</span>, {{<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;eins&quot;</span>}, {<span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;zwei&quot;</span>}}} };</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create an object_t</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">json::object_t</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;cow&quot;</span>, <span class="stringliteral">&quot;Kuh&quot;</span>}, {<span class="stringliteral">&quot;dog&quot;</span>, <span class="stringliteral">&quot;Hund&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// swap the object stored in the JSON value</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    value[<span class="stringliteral">&quot;translation&quot;</span>].swap(<span class="keywordtype">object</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output the values</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value = &quot;</span> &lt;&lt; value &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;object = &quot;</span> &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f_html_a0ac9894c9de8dc551cf2e5f1c605537f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">nlohmann::basic_json::object_t</a></div><div class="ttdeci">ObjectType&lt; StringType, basic_json, std::less&lt; StringType &gt;, AllocatorType&lt; std::pair&lt; const StringType, basic_json &gt;&gt;&gt; object_t</div><div class="ttdoc">a type for an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00348">json.hpp:348</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how objects can be swapped with <code>swap()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = { {<span class="stringliteral">&quot;translation&quot;</span>, {{<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;eins&quot;</span>}, {<span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;zwei&quot;</span>}}} };</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create an object_t</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">json::object_t</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;cow&quot;</span>, <span class="stringliteral">&quot;Kuh&quot;</span>}, {<span class="stringliteral">&quot;dog&quot;</span>, <span class="stringliteral">&quot;Hund&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// swap the object stored in the JSON value</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    value[<span class="stringliteral">&quot;translation&quot;</span>].swap(<span class="keywordtype">object</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output the values</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value = &quot;</span> &lt;&lt; value &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;object = &quot;</span> &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f_html_a0ac9894c9de8dc551cf2e5f1c605537f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">nlohmann::basic_json::object_t</a></div><div class="ttdeci">ObjectType&lt; StringType, basic_json, std::less&lt; StringType &gt;, AllocatorType&lt; std::pair&lt; const StringType, basic_json &gt;&gt;&gt; object_t</div><div class="ttdoc">a type for an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00381">json.hpp:381</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/flPVbr8widwRmnad"><b>online</b></a>): <pre class="fragment">value = {"translation":{"cow":"Kuh","dog":"Hund"}}
 object = {"one":"eins","two":"zwei"}
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/swap__object_t.cpp -o swap__object_t </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05165">5165</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05401">5401</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html b/classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html
index a6f4de0..9b47b36 100644
--- a/classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html
+++ b/classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,14 +285,14 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with an <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a> parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array_t value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">json::array_t</a> value = {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, 3, 4.5, <span class="keyword">false</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON array from the value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(value);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON array</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0_html_ab00b882d39306d663c23dab110f5cae0"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">nlohmann::basic_json::array_t</a></div><div class="ttdeci">ArrayType&lt; basic_json, AllocatorType&lt; basic_json &gt;&gt; array_t</div><div class="ttdoc">a type for an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00394">json.hpp:394</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with an <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a> parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array_t value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">json::array_t</a> value = {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, 3, 4.5, <span class="keyword">false</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON array from the value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(value);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON array</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0_html_ab00b882d39306d663c23dab110f5cae0"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">nlohmann::basic_json::array_t</a></div><div class="ttdeci">ArrayType&lt; basic_json, AllocatorType&lt; basic_json &gt;&gt; array_t</div><div class="ttdoc">a type for an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00427">json.hpp:427</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/dTbSNAvl6TqrMEAn"><b>online</b></a>): <pre class="fragment">["one","two",3,4.5,false]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__array_t.cpp -o basic_json__array_t </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">basic_json(const CompatibleArrayType&amp;)</a> &ndash; create an array value from a compatible STL containers</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01104">1104</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01200">1200</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html b/classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html
index 869994e..c4d51f0 100644
--- a/classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html
+++ b/classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in distance between <em>idx</em> and the end of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows the effect of <code>erase()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {0, 1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call erase</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    j_array.erase(2);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows the effect of <code>erase()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {0, 1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call erase</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    j_array.erase(2);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/WXGKRKjzP22ggTEr"><b>online</b></a>): <pre class="fragment">[0,1,3,4,5]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/erase__size_type.cpp -o erase__size_type </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase(InteratorType)</a> &ndash; removes the element at a given position </dd>
@@ -295,7 +297,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">erase(const typename object_t::key_type&amp;)</a> &ndash; removes the element from an object at the given key</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03986">3986</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04225">4225</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -305,7 +307,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html b/classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html
index ccd4e90..5720f8b 100644
--- a/classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html
+++ b/classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00216">216</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00247">247</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html b/classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html
index 26f9a2c..92f3c9d 100644
--- a/classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html
+++ b/classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,8 +281,8 @@
 <li>Has the semantics of <code>const_cast&lt;const basic_json&amp;&gt;(*this).rbegin()</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>crbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-beginning</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">json::const_reverse_iterator</a> it = array.crbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00_html_ae336fff01f4b78e3e16e5008dc8dbc00"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">nlohmann::basic_json::const_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::const_iterator &gt; const_reverse_iterator</div><div class="ttdoc">a const reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00240">json.hpp:240</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>crbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-beginning</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">json::const_reverse_iterator</a> it = array.crbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00_html_ae336fff01f4b78e3e16e5008dc8dbc00"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">nlohmann::basic_json::const_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::const_iterator &gt; const_reverse_iterator</div><div class="ttdoc">a const reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00271">json.hpp:271</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/GQz9A5y7HduQHVMw"><b>online</b></a>): <pre class="fragment">5
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/crbegin.cpp -o crbegin </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin()</a> &ndash; returns a reverse iterator to the beginning </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend()</a> &ndash; returns a const reverse iterator to the end</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04337">4337</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04572">4572</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html b/classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html
index aa03c51..05d5f22 100644
--- a/classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html
+++ b/classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -304,7 +306,7 @@
 <li>other types: constant</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows the result of <code>erase()</code> for different JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// call erase</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    j_boolean.erase(j_boolean.begin());</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    j_number_integer.erase(j_number_integer.begin());</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    j_number_float.erase(j_number_float.begin());</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j_object.erase(j_object.find(<span class="stringliteral">&quot;two&quot;</span>));</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    j_array.erase(j_array.begin() + 2);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    j_string.erase(j_string.begin());</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_boolean &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_number_integer &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_number_float &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j_string &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows the result of <code>erase()</code> for different JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// call erase</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    j_boolean.erase(j_boolean.begin());</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    j_number_integer.erase(j_number_integer.begin());</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    j_number_float.erase(j_number_float.begin());</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j_object.erase(j_object.find(<span class="stringliteral">&quot;two&quot;</span>));</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    j_array.erase(j_array.begin() + 2);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    j_string.erase(j_string.begin());</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_boolean &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_number_integer &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_number_float &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j_string &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/W83LsQNBy5qCoABq"><b>online</b></a>): <pre class="fragment">null
 null
 null
@@ -319,7 +321,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase(const size_type)</a> &ndash; removes the element from an array at the given index</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03753">3753</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03991">3991</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -329,7 +331,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html b/classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html
index 6b521f0..a966d72 100644
--- a/classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html
+++ b/classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,8 +281,8 @@
 <li>Has the semantics of <code>const_cast&lt;const basic_json&amp;&gt;(*this).rbegin()</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>crbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-beginning</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">json::const_reverse_iterator</a> it = array.crbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00_html_ae336fff01f4b78e3e16e5008dc8dbc00"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">nlohmann::basic_json::const_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::const_iterator &gt; const_reverse_iterator</div><div class="ttdoc">a const reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00240">json.hpp:240</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>crbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-beginning</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">json::const_reverse_iterator</a> it = array.crbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00_html_ae336fff01f4b78e3e16e5008dc8dbc00"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">nlohmann::basic_json::const_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::const_iterator &gt; const_reverse_iterator</div><div class="ttdoc">a const reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00271">json.hpp:271</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/GQz9A5y7HduQHVMw"><b>online</b></a>): <pre class="fragment">5
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/crbegin.cpp -o crbegin </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin()</a> &ndash; returns a reverse iterator to the beginning </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend()</a> &ndash; returns a const reverse iterator to the end</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04271">4271</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04506">4506</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html b/classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html
index 2bf7f19..3234513 100644
--- a/classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html
+++ b/classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,7 +285,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Amortized constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON array. Note how the <code>null</code> value was silently converted to a JSON array. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    array.push_back(6);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    array += 7;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += <span class="stringliteral">&quot;first&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON array. Note how the <code>null</code> value was silently converted to a JSON array. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    array.push_back(6);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    array += 7;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += <span class="stringliteral">&quot;first&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/zz3xkIXJYVhmYAla"><b>online</b></a>): <pre class="fragment">[1,2,3,4,5]
 null
 [1,2,3,4,5,6,7]
@@ -291,7 +293,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/push_back.cpp -o push_back </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04708">4708</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04948">4948</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html b/classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html
index b45aa23..29181f1 100644
--- a/classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html
+++ b/classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -288,13 +290,13 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for the copy constructor. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j1 = {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, 3, 4.5, <span class="keyword">false</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a copy</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j2(j1);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON array</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j1 &lt;&lt; <span class="stringliteral">&quot; = &quot;</span> &lt;&lt; j2 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (j1 == j2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for the copy constructor. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j1 = {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, 3, 4.5, <span class="keyword">false</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a copy</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j2(j1);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON array</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j1 &lt;&lt; <span class="stringliteral">&quot; = &quot;</span> &lt;&lt; j2 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (j1 == j2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/6Qfn12BDzb3vqO5p"><b>online</b></a>): <pre class="fragment">["one","two",3,4.5,false] = ["one","two",3,4.5,false]
 true
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__basic_json.cpp -o basic_json__basic_json </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01893">1893</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02011">2011</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -304,7 +306,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html b/classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html
index f424e4f..fa086d2 100644
--- a/classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html
+++ b/classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
 </blockquote>
 In case the parameter <em>val</em> is not a number, a JSON null value is created instead.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows the construction of several floating-point number values from compatible types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create values of different floating-point types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keywordtype">float</span> f42 = 42.23;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <span class="keywordtype">float</span> f_nan = 1.0f / 0.0f;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="keywordtype">double</span> f23 = 23.42;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// create JSON numbers</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j42(f42);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nan(f_nan);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j23(f23);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j42 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_nan &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j23 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows the construction of several floating-point number values from compatible types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create values of different floating-point types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keywordtype">float</span> f42 = 42.23;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <span class="keywordtype">float</span> f_nan = 1.0f / 0.0f;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="keywordtype">double</span> f23 = 23.42;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// create JSON numbers</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j42(f42);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nan(f_nan);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j23(f23);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j42 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_nan &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j23 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/2TCYWSrOxnR05AZI"><b>online</b></a>): <pre class="fragment">42.2299995422363
 null
 23.42
@@ -297,7 +299,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">basic_json(const number_float_t)</a> &ndash; create a number value (floating-point)</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01480">1480</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01599">1599</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html b/classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html
index d2e2328..35e3a80 100644
--- a/classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html
+++ b/classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -274,7 +276,7 @@
 <dl class="section warning"><dt>Warning</dt><dd>Writing data to the referee of the result yields an undefined state.</dd></dl>
 <dl class="tparams"><dt>Template Parameters</dt><dd>
   <table class="tparams">
-    <tr><td class="paramname">ReferenceType</td><td>reference type; must be a reference to <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>, <a class="el" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>, or <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>.</td></tr>
+    <tr><td class="paramname">ReferenceType</td><td>reference type; must be a reference to <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>, <a class="el" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>, or <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>. Enforced by static assertion.</td></tr>
   </table>
   </dd>
 </dl>
@@ -286,15 +288,16 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows several calls to <code>get_ref()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting references</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> r1 = value.get_ref&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>&amp;&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> r2 = value.get_ref&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>&amp;&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print the values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; r1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; r2 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// incompatible type throws exception</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        <span class="keyword">auto</span> r3 = value.get_ref&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>&amp;&gt;();</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    }</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; ex)</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    {</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        std::cout &lt;&lt; ex.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    }</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00539">json.hpp:539</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00679">json.hpp:679</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows several calls to <code>get_ref()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <a class="code" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a> = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting references</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> r1 = value.get_ref&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>&amp;&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> r2 = value.get_ref&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>&amp;&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print the values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; r1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; r2 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// incompatible type throws exception</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        <span class="keyword">auto</span> r3 = value.get_ref&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>&amp;&gt;();</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    }</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; ex)</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    {</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        std::cout &lt;&lt; ex.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    }</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00572">json.hpp:572</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00711">json.hpp:711</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0_html_a0a2cbbd95862a623e7dc5c37e67dead0"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">nlohmann::basic_json::value</a></div><div class="ttdeci">ValueType value(const typename object_t::key_type &amp;key, ValueType default_value) const </div><div class="ttdoc">access specified object element with default value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03751">json.hpp:3751</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/WiO1oBWDvIs82OX1"><b>online</b></a>): <pre class="fragment">17 17
 incompatible ReferenceType for get_ref, actual type is number
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/get_ref.cpp -o get_ref </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.1.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02944">2944</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03111">3111</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -304,7 +307,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html b/classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html
new file mode 100644
index 0000000..a50202c
--- /dev/null
+++ b/classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html
@@ -0,0 +1,331 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>JSON for Modern C++: nlohmann::basic_json::value</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="mylayout.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">JSON for Modern C++
+   &#160;<span id="projectnumber">2.0.2</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespacenlohmann.html">nlohmann</a></li><li class="navelem"><a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="contents">
+<table cellspacing="0" cellpadding="0" border="0">
+  <tr>
+   <td valign="top">
+      <div class="navtab">
+        <table>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html#a0d46dd5ef4992fb80f9f0d9f56f16eae">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">clear</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">const_reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">const_reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">count</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">diff</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">empty</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e">flatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html#ac5693cff1df0775cd3fbe960412cde4b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html#a363da77bc39cae041d59ee334ac4f41b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">get_allocator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">is_number_integer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">is_primitive</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">is_structured</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">max_size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html#a101cd941eb8a5c299660449c71d0e75e">operator value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html#aef496a56163710084e13612ab73e6ed2">operator ValueType</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">operator&lt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">operator=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">operator&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">operator&gt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
+        </table>
+      </div>
+   </td>
+   <td valign="top" class="mempage">
+<a class="anchor" id="a5010579996e483e46bec5653d983914d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;template&lt; typename U, typename V, typename...Args &gt; class ObjectType = std::map, template&lt; typename U, typename...Args &gt; class ArrayType = std::vector, class StringType  = std::string, class BooleanType  = bool, class NumberIntegerType  = std::int64_t, class NumberUnsignedType  = std::uint64_t, class NumberFloatType  = double, template&lt; typename U &gt; class AllocatorType = std::allocator&gt; </div>
+<div class="memtemplate">
+template&lt;class ValueType , typename std::enable_if&lt;                                                                  std::is_convertible&lt; basic_json_t, ValueType &gt;::value                                                               , int &gt;::type  = 0&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">ValueType <a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a>::value </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> &amp;&#160;</td>
+          <td class="paramname"><em>ptr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">ValueType&#160;</td>
+          <td class="paramname"><em>default_value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Returns either a copy of an object's element at the specified key <em>key</em> or a given default value if no element with key <em>key</em> exists.</p>
+<p>The function is basically equivalent to executing </p><div class="fragment"><div class="line"><span class="keywordflow">try</span> {</div><div class="line">    <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(ptr);</div><div class="line">} <span class="keywordflow">catch</span>(std::out_of_range) {</div><div class="line">    <span class="keywordflow">return</span> default_value;</div><div class="line">}</div></div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>Unlike <a class="el" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236">at(const json_pointer&amp;)</a>, this function does not throw if the given key <em>key</em> was not found.</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>a JSON pointer to the element to access </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">default_value</td><td>the value to return if <em>ptr</em> found no value</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">ValueType</td><td>type compatible to JSON values, for instance <code>int</code> for JSON integer numbers, <code>bool</code> for JSON booleans, or <code>std::vector</code> types for JSON arrays. Note the type of the expected value at <em>key</em> and the default value <em>default_value</em> must be compatible.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>copy of the element at key <em>key</em> or <em>default_value</em> if <em>key</em> is not found</dd></dl>
+<dl class="exception"><dt>Exceptions</dt><dd>
+  <table class="exception">
+    <tr><td class="paramname">std::domain_error</td><td>if JSON is not an object; example: <code>"cannot use
+value() with null"</code></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be queried with a default value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object with different entry types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;integer&quot;</span>, 1},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;floating&quot;</span>, 42.23},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;hello world&quot;</span>},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {<span class="stringliteral">&quot;object&quot;</span>, {{<span class="stringliteral">&quot;key1&quot;</span>, 1}, {<span class="stringliteral">&quot;key2&quot;</span>, 2}}},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3}}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    };</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// access existing values</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordtype">int</span> v_integer = j.value(<span class="stringliteral">&quot;/integer&quot;</span>_json_pointer, 0);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordtype">double</span> v_floating = j.value(<span class="stringliteral">&quot;/floating&quot;</span>_json_pointer, 47.11);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// access nonexisting values and rely on default value</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::string v_string = j.value(<span class="stringliteral">&quot;/nonexisting&quot;</span>_json_pointer, <span class="stringliteral">&quot;oops&quot;</span>);</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordtype">bool</span> v_boolean = j.value(<span class="stringliteral">&quot;/nonexisting&quot;</span>_json_pointer, <span class="keyword">false</span>);</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// output values</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; v_integer &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_floating</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_string &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_boolean &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+</div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/K4L4D6nibuGXbjfd"><b>online</b></a>): <pre class="fragment">1 42.23 oops false
+</pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__value_ptr.cpp -o basic_json__value_ptr </pre></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[](const json_pointer&amp;)</a> for unchecked access by reference</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>version 2.0.2 </dd></dl>
+
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03827">3827</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+
+</div>
+</div>
+    </td>
+  </tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html b/classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html
index 77e29ce..0ab1447 100644
--- a/classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html
+++ b/classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -278,13 +280,13 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Number of elements with key <em>key</em>. If the JSON value is not an object, the return value will be <code>0</code>.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the JSON object.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>count()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call find</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> count_two = j_object.count(<span class="stringliteral">&quot;two&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> count_three = j_object.count(<span class="stringliteral">&quot;three&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;number of elements with key \&quot;two\&quot;: &quot;</span> &lt;&lt; count_two &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;number of elements with key \&quot;three\&quot;: &quot;</span> &lt;&lt; count_three &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-</div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/XoXqF9LlWu8jlNgE"><b>online</b></a>): <pre class="fragment">number of elements with key "two": 1
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>count()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call find</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> count_two = j_object.count(<span class="stringliteral">&quot;two&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> count_three = j_object.count(<span class="stringliteral">&quot;three&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;number of elements with key \&quot;two\&quot;: &quot;</span> &lt;&lt; count_two &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;number of elements with key \&quot;three\&quot;: &quot;</span> &lt;&lt; count_three &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+</div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/yv5TMrq9qREivvHf"><b>online</b></a>): <pre class="fragment">number of elements with key "two": 1
 number of elements with key "three": 0
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/count.cpp -o count </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04081">4081</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04317">4317</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -294,7 +296,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html b/classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html
index 55cf35e..114d50a 100644
--- a/classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html
+++ b/classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,7 +285,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container, O(log(<code>size()</code>)).</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON object. Note how the <code>null</code> value was silently converted to a JSON object. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="keywordtype">object</span>.push_back(json::object_t::value_type(<span class="stringliteral">&quot;three&quot;</span>, 3));</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span> += json::object_t::value_type(<span class="stringliteral">&quot;four&quot;</span>, 4);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += json::object_t::value_type(<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += json::object_t::value_type(<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON object. Note how the <code>null</code> value was silently converted to a JSON object. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="keywordtype">object</span>.push_back(json::object_t::value_type(<span class="stringliteral">&quot;three&quot;</span>, 3));</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span> += json::object_t::value_type(<span class="stringliteral">&quot;four&quot;</span>, 4);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += json::object_t::value_type(<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += json::object_t::value_type(<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/lmXOd27kgJ2wQGMZ"><b>online</b></a>): <pre class="fragment">{"one":1,"two":2}
 null
 {"four":4,"one":1,"three":3,"two":2}
@@ -291,7 +293,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/push_back__object_t__value.cpp -o push_back__object_t__value </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04794">4794</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05034">5034</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html b/classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html
index aac87ca..6597464 100644
--- a/classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html
+++ b/classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd>an object that maps JSON pointers to primitve values</dd></dl>
 <dl class="section note"><dt>Note</dt><dd>Empty objects and arrays are flattened to <code>null</code> and will not be reconstructed correctly by the <a class="el" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten()</a> function.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size the JSON value.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows how a JSON object is flattened to an object whose keys consist of JSON pointers. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;pi&quot;</span>, 3.141},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;happy&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;name&quot;</span>, <span class="stringliteral">&quot;Niels&quot;</span>},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;nothing&quot;</span>, <span class="keyword">nullptr</span>},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;            <span class="stringliteral">&quot;answer&quot;</span>, {</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;                {<span class="stringliteral">&quot;everything&quot;</span>, 42}</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;            }</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        },</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        {<span class="stringliteral">&quot;list&quot;</span>, {1, 0, 2}},</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        {</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;            <span class="stringliteral">&quot;object&quot;</span>, {</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;                {<span class="stringliteral">&quot;currency&quot;</span>, <span class="stringliteral">&quot;USD&quot;</span>},</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;                {<span class="stringliteral">&quot;value&quot;</span>, 42.99}</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;            }</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        }</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    };</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// call flatten()</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j.flatten() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows how a JSON object is flattened to an object whose keys consist of JSON pointers. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;pi&quot;</span>, 3.141},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;happy&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;name&quot;</span>, <span class="stringliteral">&quot;Niels&quot;</span>},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;nothing&quot;</span>, <span class="keyword">nullptr</span>},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;            <span class="stringliteral">&quot;answer&quot;</span>, {</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;                {<span class="stringliteral">&quot;everything&quot;</span>, 42}</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;            }</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        },</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        {<span class="stringliteral">&quot;list&quot;</span>, {1, 0, 2}},</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        {</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;            <span class="stringliteral">&quot;object&quot;</span>, {</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;                {<span class="stringliteral">&quot;currency&quot;</span>, <span class="stringliteral">&quot;USD&quot;</span>},</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;                {<span class="stringliteral">&quot;value&quot;</span>, 42.99}</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;            }</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        }</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    };</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// call flatten()</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j.flatten() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/cdQa6jE0N2LyqFJe"><b>online</b></a>): <pre class="fragment">{
     "/answer/everything": 42,
     "/happy": true,
@@ -289,7 +291,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten()</a> for the reverse function</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09439">9439</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09831">9831</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html b/classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html
index 8568a1b..54791dd 100644
--- a/classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html
+++ b/classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -269,6 +271,7 @@
 </table>
 </div><div class="memdoc">
 <p>Create a <code>null</code> JSON value. This is the implicit version of the <code>null</code> value constructor as it takes no parameters.</p>
+<dl class="section note"><dt>Note</dt><dd>The class invariant is satisfied, because it poses no requirements for null values.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this constructor never throws exceptions.</dd></dl>
 <dl class="section user"><dt>Requirements</dt><dd>This function helps <code>basic_json</code> satisfying the <a href="http://en.cppreference.com/w/cpp/concept/Container">Container</a> requirements:<ul>
@@ -276,7 +279,7 @@
 <li>As postcondition, it holds: <code>basic_json().empty() == true</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor for a <code>null</code> JSON value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value with default null value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// serialize the JSON null value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor for a <code>null</code> JSON value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value with default null value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// serialize the JSON null value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/dRptmFmhvpsYB49t"><b>online</b></a>): <pre class="fragment">null
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json.cpp -o basic_json </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">basic_json(std::nullptr_t)</a> &ndash; create a <code>null</code> value</dd></dl>
@@ -290,7 +293,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html b/classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html
index 630b971..6f552d8 100644
--- a/classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html
+++ b/classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is structured (array or object), <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_structured()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_structured()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_structured()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_structured()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_structured() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/46XRsxj3NvcwTpAZ"><b>online</b></a>): <pre class="fragment">false
 false
 false
@@ -289,7 +291,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object()</a> &ndash; returns whether value is an object</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02190">2190</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02329">2329</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html b/classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html
index 02cb2d7..a9f4134 100644
--- a/classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html
+++ b/classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,8 +285,8 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>JSON array value</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size of <em>init</em>.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for the <code>array</code> function. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON arrays</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_no_init_list = <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">json::array</a>();</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_empty_init_list = <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">json::array</a>({});</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nonempty_init_list = <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">json::array</a>({1, 2, 3, 4});</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_list_of_pairs = <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">json::array</a>({ {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2} });</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j_no_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_empty_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j_nonempty_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_list_of_pairs &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f_html_a5685815624b086caa532f41e853d4b0f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">nlohmann::basic_json::array</a></div><div class="ttdeci">static basic_json array(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an array from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01645">json.hpp:1645</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for the <code>array</code> function. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON arrays</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_no_init_list = <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">json::array</a>();</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_empty_init_list = <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">json::array</a>({});</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nonempty_init_list = <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">json::array</a>({1, 2, 3, 4});</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_list_of_pairs = <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">json::array</a>({ {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2} });</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j_no_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_empty_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j_nonempty_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_list_of_pairs &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f_html_a5685815624b086caa532f41e853d4b0f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">nlohmann::basic_json::array</a></div><div class="ttdeci">static basic_json array(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an array from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01757">json.hpp:1757</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/1fsm4gI55p83DOwU"><b>online</b></a>): <pre class="fragment">[]
 []
 [1,2,3,4]
@@ -295,7 +297,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object(std::initializer_list&lt;basic_json&gt;)</a> &ndash; create a JSON object value from an initializer list</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01645">1645</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01757">1757</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -305,7 +307,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html b/classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html
index e98126f..1afdd97 100644
--- a/classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html
+++ b/classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,14 +287,14 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant if <em>idx</em> is in the range of the array. Otherwise linear in <code>idx - size()</code>.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how array elements can be read and written using <code>[]</code> operator. Note the addition of <code>null</code> values. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// output element at index 3 (fourth element)</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; array[3] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// change last element to 6</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    array[array.size() - 1] = 6;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// write beyond array limit</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    array[10] = 11;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how array elements can be read and written using <code>[]</code> operator. Note the addition of <code>null</code> values. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// output element at index 3 (fourth element)</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; array[3] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// change last element to 6</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    array[array.size() - 1] = 6;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// write beyond array limit</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    array[10] = 11;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/nRWrbGoBCORCHJI5"><b>online</b></a>): <pre class="fragment">4
 [1,2,3,4,6]
 [1,2,3,4,6,null,null,null,null,null,11]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operatorarray__size_type.cpp -o operatorarray__size_type </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03226">3226</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03390">3390</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -302,7 +304,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html b/classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html
index 42baa03..283b895 100644
--- a/classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html
+++ b/classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>whether <em>lhs</em> is less than or equal to <em>rhs</em> </dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.0000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 &gt; array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 &gt; object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 &gt; number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 &gt; string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.0000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 &gt; array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 &gt; object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 &gt; number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 &gt; string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/xJlXYtWnxO1NUh7x"><b>online</b></a>): <pre class="fragment">[1,2,3] == [1,2,4] false
 {"A":"a","B":"b"} == {"A":"a","B":"b"} false
 17 == 17.0000000000001 false
@@ -297,7 +299,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__greater.cpp -o operator__greater </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05571">5571</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05793">5793</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html b/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html
index 3189bbc..ca91f9e 100644
--- a/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html
+++ b/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,6 +282,7 @@
 </table>
 </div><div class="memdoc">
 <p>Serialize the given JSON value <em>j</em> to the output stream <em>o</em>. The JSON value will be serialized using the <a class="el" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a> member function. The indentation of the output can be controlled with the member variable <code>width</code> of the output stream <em>o</em>. For instance, using the manipulator <code>std::setw(4)</code> on <em>o</em> sets the indentation level to <code>4</code> and the serialization result is the same as calling <code>dump(4)</code>.</p>
+<dl class="section note"><dt>Note</dt><dd>During serializaion, the locale and the precision of the output stream <em>o</em> are changed. The original values are restored when the function returns.</dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramdir">[in,out]</td><td class="paramname">o</td><td>stream to serialize to </td></tr>
@@ -289,7 +292,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>the stream <em>o</em> </dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows the serialization with different parameters to <code>width</code> to adjust the indentation level. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// serialize without indentation</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// serialize with indentation</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_object &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; std::setw(2) &lt;&lt; j_array &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows the serialization with different parameters to <code>width</code> to adjust the indentation level. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// serialize without indentation</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// serialize with indentation</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_object &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; std::setw(2) &lt;&lt; j_array &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/NOtGXsCLXYHRG6ML"><b>online</b></a>): <pre class="fragment">{"one":1,"two":2}
 
 [1,2,4,8,16]
@@ -310,7 +313,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator_serialize.cpp -o operator_serialize </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05652">5652</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05878">5878</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -320,7 +323,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html b/classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html
index 8f723f1..136f0cb 100644
--- a/classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html
+++ b/classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,12 +282,12 @@
 <p>As this range is a subrange (when considered in conjunction with the number_integer_t type) of the exactly supported range [0, UINT64_MAX], this class's integer type is interoperable.</p>
 <h4>Storage</h4>
 <p>Integer number values are stored directly inside a <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> type.</p>
-<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> &ndash; type for number values (floating-point)</dd>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> &ndash; type for number values (floating-point) </dd>
 <dd>
 <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> &ndash; type for number values (integer)</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00611">611</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00643">643</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +297,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html b/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html
index 75b181d..5f8bbd3 100644
--- a/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html
+++ b/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -295,7 +297,7 @@
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the length of the input. The parser is a predictive LL(1) parser.</dd></dl>
 <dl class="section note"><dt>Note</dt><dd>A UTF-8 byte order mark is silently ignored.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how a JSON value is constructed by reading a serialization from a stream. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create stream with serialized JSON</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    ss &lt;&lt; R<span class="stringliteral">&quot;({</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">        &quot;number&quot;: 23,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">        &quot;string&quot;: &quot;Hello, world!&quot;,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">        &quot;array&quot;: [1, 2, 3, 4, 5],</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">        &quot;boolean&quot;: false,</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral">        &quot;null&quot;: null</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">    })&quot;;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">    </span><span class="comment">// create JSON value and read the serialization from the stream</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j &lt;&lt; ss;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// serialize JSON</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; std::setw(2) &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how a JSON value is constructed by reading a serialization from a stream. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create stream with serialized JSON</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    ss &lt;&lt; R<span class="stringliteral">&quot;({</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">        &quot;number&quot;: 23,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">        &quot;string&quot;: &quot;Hello, world!&quot;,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">        &quot;array&quot;: [1, 2, 3, 4, 5],</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">        &quot;boolean&quot;: false,</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral">        &quot;null&quot;: null</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">    })&quot;;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">    </span><span class="comment">// create JSON value and read the serialization from the stream</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j &lt;&lt; ss;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// serialize JSON</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; std::setw(2) &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/yAAGR07u3IQbIgUa"><b>online</b></a>): <pre class="fragment">{
   "array": [
     1,
@@ -310,10 +312,10 @@
   "string": "Hello, world!"
 }
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator_deserialize.cpp -o operator_deserialize </pre></dd></dl>
-<dl class="section see"><dt>See also</dt><dd>parse(std::istream&amp;, parser_callback_t) for a variant with a parser callback function to filter values while parsing</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>parse(std::istream&amp;, const parser_callback_t) for a variant with a parser callback function to filter values while parsing</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05779">5779</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06017">6017</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -323,7 +325,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html b/classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html
index 016ed13..e61e3d8 100644
--- a/classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html
+++ b/classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -298,9 +300,9 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>a JSON patch to convert the <em>source</em> to <em>target</em> </dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the lengths of <em>source</em> and <em>target</em>.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows how a JSON patch is created as a diff for two JSON values. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// the source document</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> source = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="stringliteral">        {</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">            &quot;baz&quot;: &quot;qux&quot;,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">            &quot;foo&quot;: &quot;bar&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">    )&quot;_json;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">    </span><span class="comment">// the target document</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> target = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">        {</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="stringliteral">            &quot;baz&quot;: &quot;boo&quot;,</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="stringliteral">            &quot;hello&quot;: [</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="stringliteral">                &quot;world&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="stringliteral">            ]</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="stringliteral">    )&quot;_json;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="stringliteral">    </span><span class="comment">// create the patch</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <a class="code" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a> = <a class="code" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">json::diff</a>(source, target);</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// roundtrip</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> patched_source = source.patch(patch);</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="comment">// output patch and roundtrip result</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; patch &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;              &lt;&lt; std::setw(4) &lt;&lt; patched_source &lt;&lt; std::endl;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;}</div><div class="ttc" id="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587_html_a618a5c5c9f8889032657370c8247a587"><div class="ttname"><a href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">nlohmann::basic_json::diff</a></div><div class="ttdeci">static basic_json diff(const basic_json &amp;source, const basic_json &amp;target, std::string path=&quot;&quot;)</div><div class="ttdoc">creates a diff as a JSON patch </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09816">json.hpp:9816</a></div></div>
-<div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d_html_aa41e1083435cf317a253947eb1ff318d"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">nlohmann::basic_json::patch</a></div><div class="ttdeci">basic_json patch(const basic_json &amp;json_patch) const </div><div class="ttdoc">applies a JSON patch </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09523">json.hpp:9523</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows how a JSON patch is created as a diff for two JSON values. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// the source document</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> source = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="stringliteral">        {</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">            &quot;baz&quot;: &quot;qux&quot;,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">            &quot;foo&quot;: &quot;bar&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">    )&quot;_json;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">    </span><span class="comment">// the target document</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> target = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">        {</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="stringliteral">            &quot;baz&quot;: &quot;boo&quot;,</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="stringliteral">            &quot;hello&quot;: [</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="stringliteral">                &quot;world&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="stringliteral">            ]</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="stringliteral">    )&quot;_json;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="stringliteral">    </span><span class="comment">// create the patch</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <a class="code" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a> = <a class="code" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">json::diff</a>(source, target);</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// roundtrip</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> patched_source = source.patch(patch);</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="comment">// output patch and roundtrip result</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; patch &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;              &lt;&lt; std::setw(4) &lt;&lt; patched_source &lt;&lt; std::endl;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;}</div><div class="ttc" id="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587_html_a618a5c5c9f8889032657370c8247a587"><div class="ttname"><a href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">nlohmann::basic_json::diff</a></div><div class="ttdeci">static basic_json diff(const basic_json &amp;source, const basic_json &amp;target, std::string path=&quot;&quot;)</div><div class="ttdoc">creates a diff as a JSON patch </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10208">json.hpp:10208</a></div></div>
+<div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d_html_aa41e1083435cf317a253947eb1ff318d"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">nlohmann::basic_json::patch</a></div><div class="ttdeci">basic_json patch(const basic_json &amp;json_patch) const </div><div class="ttdoc">applies a JSON patch </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09915">json.hpp:9915</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/hicmeOK39tBxaluM"><b>online</b></a>): <pre class="fragment">[
     {
         "op": "replace",
@@ -332,7 +334,7 @@
 <a href="https://tools.ietf.org/html/rfc6902">RFC 6902 (JSON Patch)</a></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09816">9816</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l10208">10208</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -342,7 +344,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html b/classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html
index 02c1695..440e891 100644
--- a/classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html
+++ b/classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -303,13 +305,13 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in <em>cnt</em> plus linear in the distance between <em>pos</em> and end of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// insert number 7 copies of number 7 before number 3</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.begin() + 2, 7, 7);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// insert number 7 copies of number 7 before number 3</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.begin() + 2, 7, 7);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/wnxritIWxpGS2SSt"><b>online</b></a>): <pre class="fragment">7
 [1,2,7,7,7,7,7,7,7,3,4]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/insert__count.cpp -o insert__count </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04950">4950</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05189">5189</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -319,7 +321,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html b/classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html
index 61688fc..fc6ff8b 100644
--- a/classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html
+++ b/classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is a floating-point number, <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_number_float()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_number_float()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_number_float()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_number_float()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_number_float() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/AHeVLaVJlG3cIehg"><b>online</b></a>): <pre class="fragment">false
 false
 false
@@ -289,7 +291,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned()</a> &ndash; check if value is an unsigned integer number</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02349">2349</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02488">2488</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html b/classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html
index 8802d2c..a80a1d9 100644
--- a/classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html
+++ b/classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,8 +281,8 @@
 <li>Has the semantics of <code>reverse_iterator(end())</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>rbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-beginning</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">json::reverse_iterator</a> it = array.rbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a_html_a2f1f83aa187a56dc5ec7a7027065ac8a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">nlohmann::basic_json::reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::iterator &gt; reverse_iterator</div><div class="ttdoc">a reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00238">json.hpp:238</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>rbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-beginning</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">json::reverse_iterator</a> it = array.rbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a_html_a2f1f83aa187a56dc5ec7a7027065ac8a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">nlohmann::basic_json::reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::iterator &gt; reverse_iterator</div><div class="ttdoc">a reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00269">json.hpp:269</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/KiWAz9ZSK8L3k2kg"><b>online</b></a>): <pre class="fragment">5
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/rbegin.cpp -o rbegin </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin()</a> &ndash; returns a const reverse iterator to the beginning </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend()</a> &ndash; returns a const reverse iterator to the end</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04263">4263</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04498">4498</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html b/classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html
index 5684dfe..54b11de 100644
--- a/classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html
+++ b/classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -286,7 +288,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The behavior is shown in the example. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;number&quot;</span>, 1}, {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;foo&quot;</span>}, {<span class="stringliteral">&quot;array&quot;</span>, {1, 2}}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// read-only access</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/number&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/number&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/string&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/string&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/array&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array/1&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// writing access</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// change the string</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    j.at(<span class="stringliteral">&quot;/string&quot;</span>_json_pointer) = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output the changed string</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;string&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="comment">// change an array element</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    j.at(<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer) = 21;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="comment">// output the changed array</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;array&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The behavior is shown in the example. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;number&quot;</span>, 1}, {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;foo&quot;</span>}, {<span class="stringliteral">&quot;array&quot;</span>, {1, 2}}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// read-only access</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/number&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/number&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/string&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/string&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/array&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array/1&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j.at(<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// writing access</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// change the string</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    j.at(<span class="stringliteral">&quot;/string&quot;</span>_json_pointer) = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output the changed string</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;string&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="comment">// change an array element</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    j.at(<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer) = 21;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="comment">// output the changed array</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;array&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/NDSjglHZIjIZ0Uxg"><b>online</b></a>): <pre class="fragment">1
 "foo"
 [1,2]
@@ -296,7 +298,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/at_json_pointer.cpp -o at_json_pointer </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09387">9387</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09779">9779</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -306,7 +308,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html b/classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html
index 4515f01..0af65ba 100644
--- a/classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html
+++ b/classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -273,7 +275,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is discarded, <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_discarded()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_discarded()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_discarded()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_discarded()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_discarded() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/USx0486t9Qxi5LS3"><b>online</b></a>): <pre class="fragment">false
 false
 false
@@ -285,7 +287,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/is_discarded.cpp -o is_discarded </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02442">2442</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02581">2581</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +297,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html b/classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html
index 0138646..5ac50f5 100644
--- a/classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html
+++ b/classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read using <code>at()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;the good&quot;</span>, <span class="stringliteral">&quot;il buono&quot;</span>},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;the bad&quot;</span>, <span class="stringliteral">&quot;il cativo&quot;</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;the ugly&quot;</span>, <span class="stringliteral">&quot;il brutto&quot;</span>}</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    };</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with key &quot;the ugly&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the ugly&quot;</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// try to read from a nonexisting key</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    {</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;        std::cout &lt;&lt; <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the fast&quot;</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    }</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordflow">catch</span> (std::out_of_range)</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    {</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;out of range&quot;</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    }</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read using <code>at()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;the good&quot;</span>, <span class="stringliteral">&quot;il buono&quot;</span>},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;the bad&quot;</span>, <span class="stringliteral">&quot;il cativo&quot;</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;the ugly&quot;</span>, <span class="stringliteral">&quot;il brutto&quot;</span>}</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    };</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with key &quot;the ugly&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the ugly&quot;</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// try to read from a nonexisting key</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    {</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;        std::cout &lt;&lt; <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the fast&quot;</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    }</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordflow">catch</span> (std::out_of_range)</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    {</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;out of range&quot;</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    }</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/aeoZrnhnb3HKClCY"><b>online</b></a>): <pre class="fragment">"il brutto"
 out of range
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/at__object_t_key_type_const.cpp -o at__object_t_key_type_const </pre></dd></dl>
@@ -294,7 +296,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value()</a> for access by value with a default value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03179">3179</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03344">3344</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -304,7 +306,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html b/classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html
index 598cccf..7c1bab2 100644
--- a/classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html
+++ b/classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is null, <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_null()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_null()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_null()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_null()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_null() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/d75Hu1c8QVdDtabd"><b>online</b></a>): <pre class="fragment">true
 false
 false
@@ -284,7 +286,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/is_null.cpp -o is_null </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02212">2212</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02351">2351</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -294,7 +296,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html b/classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html
index bfa11c1..74615f4 100644
--- a/classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html
+++ b/classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -288,7 +290,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json(const number_unsigned_t)</a> &ndash; create a number value (unsigned)</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01404">1404</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01519">1519</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -298,7 +300,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html b/classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html
index 476804f..a477ff9 100644
--- a/classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html
+++ b/classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,7 +282,7 @@
 <li>Has the semantics of <code>const_cast&lt;const basic_json&amp;&gt;(*this).end()</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>cend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to one past the last element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::const_iterator it = array.cend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// decrement the iterator to point to the last element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>cend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to one past the last element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::const_iterator it = array.cend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// decrement the iterator to point to the last element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/9oPbpnFNgKtKjB0O"><b>online</b></a>): <pre class="fragment">5
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/cend.cpp -o cend </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end()</a> &ndash; returns an iterator to the end </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin()</a> &ndash; returns a const iterator to the beginning</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04203">4203</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04438">4438</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html b/classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html
index d6e0733..66d6bbc 100644
--- a/classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html
+++ b/classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is an unsigned integer number, <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_number_unsigned()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_number_unsigned()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_number_unsigned()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_number_unsigned()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_number_unsigned() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/BYzDklHPHDZA2CXX"><b>online</b></a>): <pre class="fragment">false
 false
 false
@@ -289,7 +291,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float()</a> &ndash; check if value is a floating-point number</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02321">2321</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02460">2460</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html b/classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html
index f98544a..6846284 100644
--- a/classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html
+++ b/classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>whether the values <em>lhs</em> and <em>rhs</em> are not equal</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.000000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 != array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 != object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 != number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 != string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.000000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 != array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 != object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 != number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 != string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/m4adEpqac1fmOwNn"><b>online</b></a>): <pre class="fragment">[1,2,3] == [1,2,4] true
 {"A":"a","B":"b"} == {"A":"a","B":"b"} false
 17 == 17 false
@@ -297,7 +299,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__notequal.cpp -o operator__notequal </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05409">5409</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05637">5637</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html b/classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html
index f34b8f2..8a5efd2 100644
--- a/classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html
+++ b/classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,7 +285,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Amortized constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON array. Note how the <code>null</code> value was silently converted to a JSON array. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    array.push_back(6);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    array += 7;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += <span class="stringliteral">&quot;first&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON array. Note how the <code>null</code> value was silently converted to a JSON array. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    array.push_back(6);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    array += 7;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += <span class="stringliteral">&quot;first&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/zz3xkIXJYVhmYAla"><b>online</b></a>): <pre class="fragment">[1,2,3,4,5]
 null
 [1,2,3,4,5,6,7]
@@ -291,7 +293,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/push_back.cpp -o push_back </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04744">4744</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04984">4984</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html b/classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html
index 287dc19..83cd63b 100644
--- a/classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html
+++ b/classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -278,7 +280,7 @@
 </dl>
 <dl class="section note"><dt>Note</dt><dd>This constructor allows to pass enums directly to a constructor. As C++ has no way of specifying the type of an anonymous enum explicitly, we can only rely on the fact that such values implicitly convert to int. As int may already be the same type of number_integer_t, we may need to switch off the constructor <a class="el" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json(const number_integer_t)</a>.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows the construction of an integer number value from an anonymous enum. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// an anonymous enum</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">enum</span> { t = 17 };</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON number from the enum</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(t);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows the construction of an integer number value from an anonymous enum. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// an anonymous enum</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">enum</span> { t = 17 };</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON number from the enum</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(t);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/3xQ1qy7BT9OrSSCo"><b>online</b></a>): <pre class="fragment">17
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__const_int.cpp -o basic_json__const_int </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json(const number_integer_t)</a> &ndash; create a number value (integer) </dd>
@@ -286,7 +288,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json(const CompatibleNumberIntegerType)</a> &ndash; create a number value (integer) from a compatible number type</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01308">1308</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01417">1417</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -296,7 +298,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html b/classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html
index c987a5b..8175327 100644
--- a/classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html
+++ b/classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -278,7 +280,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>back()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call back()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_null.back() &lt;&lt; &#39;\n&#39;;          // would throw</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_object_empty.back() &lt;&lt; &#39;\n&#39;;  // undefined behavior</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_array_empty.back() &lt;&lt; &#39;\n&#39;;   // undefined behavior</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>back()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call back()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_null.back() &lt;&lt; &#39;\n&#39;;          // would throw</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_object_empty.back() &lt;&lt; &#39;\n&#39;;  // undefined behavior</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_array_empty.back() &lt;&lt; &#39;\n&#39;;   // undefined behavior</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.back() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/nPVnBcHf8nrNpGOJ"><b>online</b></a>): <pre class="fragment">true
@@ -291,7 +293,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front()</a> &ndash; access the first element</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03685">3685</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03923">3923</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html b/classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html
index 6454a23..7540482 100644
--- a/classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html
+++ b/classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -278,13 +280,13 @@
 </dl>
 <dl class="section post"><dt>Postcondition</dt><dd><em>other</em> is a JSON null value</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The code below shows the move constructor explicitly called via std::move. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> a = 23;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// move contents of a to b</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> b(std::move(a));</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; a &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; b &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The code below shows the move constructor explicitly called via std::move. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> a = 23;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// move contents of a to b</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> b(std::move(a));</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; a &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; b &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/CaDlatv1uXhQiu7o"><b>online</b></a>): <pre class="fragment">null
 23
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__moveconstructor.cpp -o basic_json__moveconstructor </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01968">1968</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02088">2088</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -294,7 +296,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html b/classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html
index 0e1f998..5f12414 100644
--- a/classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html
+++ b/classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -281,7 +283,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> &ndash; type for number values (unsigned integer)</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00679">679</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00711">711</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -291,7 +293,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html b/classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html
index bbd1366..f59f246 100644
--- a/classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html
+++ b/classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>whether <em>lhs</em> is greater than or equal to <em>rhs</em> </dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.0000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; &gt;= &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 &gt;= array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; &gt;= &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 &gt;= object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; &gt;= &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 &gt;= number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; &gt;= &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 &gt;= string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.0000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; &gt;= &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 &gt;= array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; &gt;= &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 &gt;= object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; &gt;= &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 &gt;= number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; &gt;= &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 &gt;= string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/92RTw1dWSVue58j6"><b>online</b></a>): <pre class="fragment">[1,2,3] &gt;= [1,2,4] false
 {"A":"a","B":"b"} &gt;= {"A":"a","B":"b"} true
 17 &gt;= 17.0000000000001 false
@@ -297,7 +299,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__greaterequal.cpp -o operator__greaterequal </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05615">5615</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05837">5837</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html b/classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html
index 15df769..9dde8b2 100644
--- a/classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html
+++ b/classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -291,7 +293,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The behavior is shown in the example. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;number&quot;</span>, 1}, {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;foo&quot;</span>}, {<span class="stringliteral">&quot;array&quot;</span>, {1, 2}}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// read-only access</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/number&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/number&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/string&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/string&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/array&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array/1&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// writing access</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// change the string</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    j[<span class="stringliteral">&quot;/string&quot;</span>_json_pointer] = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output the changed string</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;string&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="comment">// &quot;change&quot; a nonexisting object entry</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    j[<span class="stringliteral">&quot;/boolean&quot;</span>_json_pointer] = <span class="keyword">true</span>;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="comment">// output the changed object</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// change an array element</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    j[<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer] = 21;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="comment">// &quot;change&quot; an array element with nonexisting index</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    j[<span class="stringliteral">&quot;/array/4&quot;</span>_json_pointer] = 44;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// output the changed array</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;array&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="comment">// &quot;change&quot; the arry element past the end</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    j[<span class="stringliteral">&quot;/array/-&quot;</span>_json_pointer] = 55;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="comment">// output the changed array</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;array&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The behavior is shown in the example. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;number&quot;</span>, 1}, {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;foo&quot;</span>}, {<span class="stringliteral">&quot;array&quot;</span>, {1, 2}}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// read-only access</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/number&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/number&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/string&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/string&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/array&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array/1&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// writing access</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// change the string</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    j[<span class="stringliteral">&quot;/string&quot;</span>_json_pointer] = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output the changed string</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;string&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <span class="comment">// &quot;change&quot; a nonexisting object entry</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    j[<span class="stringliteral">&quot;/boolean&quot;</span>_json_pointer] = <span class="keyword">true</span>;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="comment">// output the changed object</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// change an array element</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    j[<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer] = 21;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="comment">// &quot;change&quot; an array element with nonexisting index</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    j[<span class="stringliteral">&quot;/array/4&quot;</span>_json_pointer] = 44;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// output the changed array</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;array&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="comment">// &quot;change&quot; the arry element past the end</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    j[<span class="stringliteral">&quot;/array/-&quot;</span>_json_pointer] = 55;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="comment">// output the changed array</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;array&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/xzFX3E4gYBXFwd04"><b>online</b></a>): <pre class="fragment">1
 "foo"
 [1,2]
@@ -303,7 +305,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operatorjson_pointer.cpp -o operatorjson_pointer </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09335">9335</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09727">9727</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -313,7 +315,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html b/classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html
index 92f43d3..451cde0 100644
--- a/classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html
+++ b/classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -286,7 +288,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The behavior is shown in the example. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;number&quot;</span>, 1}, {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;foo&quot;</span>}, {<span class="stringliteral">&quot;array&quot;</span>, {1, 2}}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// read-only access</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/number&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/number&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/string&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/string&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/array&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array/1&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The behavior is shown in the example. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;number&quot;</span>, 1}, {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;foo&quot;</span>}, {<span class="stringliteral">&quot;array&quot;</span>, {1, 2}}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// read-only access</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/number&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/number&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/string&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/string&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/array&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output element with JSON pointer &quot;/array/1&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j[<span class="stringliteral">&quot;/array/1&quot;</span>_json_pointer] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/IKpbJkMdcocVdlRd"><b>online</b></a>): <pre class="fragment">1
 "foo"
 [1,2]
@@ -294,7 +296,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operatorjson_pointer_const.cpp -o operatorjson_pointer_const </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09362">9362</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09754">9754</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -304,7 +306,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html b/classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html
index 58378fc..a7c22fe 100644
--- a/classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html
+++ b/classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -274,21 +276,22 @@
 <dl class="section warning"><dt>Warning</dt><dd>Writing data to the pointee of the result yields an undefined state.</dd></dl>
 <dl class="tparams"><dt>Template Parameters</dt><dd>
   <table class="tparams">
-    <tr><td class="paramname">PointerType</td><td>pointer type; must be a pointer to <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>, <a class="el" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>, or <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>.</td></tr>
+    <tr><td class="paramname">PointerType</td><td>pointer type; must be a pointer to <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>, <a class="el" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>, or <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>. Enforced by a static assertion.</td></tr>
   </table>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>pointer to the internally stored JSON value if the requested pointer type <em>PointerType</em> fits to the JSON value; <code>nullptr</code> otherwise</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a <code>nullptr</code> is returned if the value and the requested pointer type does not match. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting pointers</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> p1 = value.get_ptr&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> p2 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keyword">auto</span> p3 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> p4 = value.get_ptr&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keyword">auto</span> p5 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>*&gt;();</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// print the pointees</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; *p1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p3 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p4 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (p5 == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00539">json.hpp:539</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00679">json.hpp:679</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a <code>nullptr</code> is returned if the value and the requested pointer type does not match. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <a class="code" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a> = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting pointers</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> p1 = value.get_ptr&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> p2 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keyword">auto</span> p3 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> p4 = value.get_ptr&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keyword">auto</span> p5 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>*&gt;();</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// print the pointees</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; *p1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p3 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p4 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (p5 == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00572">json.hpp:572</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00711">json.hpp:711</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0_html_a0a2cbbd95862a623e7dc5c37e67dead0"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">nlohmann::basic_json::value</a></div><div class="ttdeci">ValueType value(const typename object_t::key_type &amp;key, ValueType default_value) const </div><div class="ttdoc">access specified object element with default value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03751">json.hpp:3751</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/xYbUV0BmOfNtQcED"><b>online</b></a>): <pre class="fragment">17 17 17 17
 true
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/get_ptr.cpp -o get_ptr </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02893">2893</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03030">3030</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -298,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html b/classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html
index 897b2e2..70f9338 100644
--- a/classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html
+++ b/classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -281,13 +283,13 @@
 <li>The complexity is linear.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The code below shows and example for the copy assignment. It creates a copy of value <code>a</code> which is then swapped with <code>b</code>. Finally, the copy of <code>a</code> (which is the null value after the swap) is destroyed. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> a = 23;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> b = 42;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// copy-assign a to b</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    b = a;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; a &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; b &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The code below shows and example for the copy assignment. It creates a copy of value <code>a</code> which is then swapped with <code>b</code>. Finally, the copy of <code>a</code> (which is the null value after the swap) is destroyed. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> a = 23;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> b = 42;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// copy-assign a to b</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    b = a;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; a &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; b &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/iWYvmlA4qQmtvACX"><b>online</b></a>): <pre class="fragment">23
 23
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__copyassignment.cpp -o basic_json__copyassignment </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02000">2000</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02125">2125</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -297,7 +299,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html b/classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html
index a6ad05f..5d2284a 100644
--- a/classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html
+++ b/classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is primitive (string, number, boolean, or null), <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_primitive()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_primitive()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_primitive()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_primitive()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_primitive() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/A0B17yXywuT7Z1gx"><b>online</b></a>): <pre class="fragment">true
 true
 true
@@ -293,7 +295,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number()</a> &ndash; returns whether JSON value is a number</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02163">2163</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02302">2302</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -303,7 +305,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html b/classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html
index 49dbd36..5a43323 100644
--- a/classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html
+++ b/classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read and written using <code>at()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;the good&quot;</span>, <span class="stringliteral">&quot;il buono&quot;</span>},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;the bad&quot;</span>, <span class="stringliteral">&quot;il cativo&quot;</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;the ugly&quot;</span>, <span class="stringliteral">&quot;il brutto&quot;</span>}</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    };</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with key &quot;the ugly&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the ugly&quot;</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// change element with key &quot;the bad&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the bad&quot;</span>) = <span class="stringliteral">&quot;il cattivo&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// try to write at a nonexisting key</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;        <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the fast&quot;</span>) = <span class="stringliteral">&quot;il rapido&quot;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    }</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keywordflow">catch</span> (std::out_of_range&amp; e)</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    {</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;out of range: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    }</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read and written using <code>at()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;the good&quot;</span>, <span class="stringliteral">&quot;il buono&quot;</span>},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;the bad&quot;</span>, <span class="stringliteral">&quot;il cativo&quot;</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;the ugly&quot;</span>, <span class="stringliteral">&quot;il brutto&quot;</span>}</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    };</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// output element with key &quot;the ugly&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the ugly&quot;</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// change element with key &quot;the bad&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the bad&quot;</span>) = <span class="stringliteral">&quot;il cattivo&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// try to write at a nonexisting key</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    {</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;        <span class="keywordtype">object</span>.at(<span class="stringliteral">&quot;the fast&quot;</span>) = <span class="stringliteral">&quot;il rapido&quot;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    }</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keywordflow">catch</span> (std::out_of_range&amp; e)</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    {</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;out of range: &quot;</span> &lt;&lt; e.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    }</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/rsnwWxpDjmtRRSzb"><b>online</b></a>): <pre class="fragment">"il brutto"
 {"the bad":"il cattivo","the good":"il buono","the ugly":"il brutto"}
 out of range: key 'the fast' not found
@@ -295,7 +297,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value()</a> for access by value with a default value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03131">3131</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03297">3297</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -305,7 +307,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html b/classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html
index fd4e452..d577fb1 100644
--- a/classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html
+++ b/classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -296,13 +298,13 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant plus linear in the distance between pos and end of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// insert number 10 before number 3</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.begin() + 2, 10);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// insert number 10 before number 3</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.begin() + 2, 10);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ePN9gb4P3WTAiT6H"><b>online</b></a>): <pre class="fragment">10
 [1,2,10,3,4]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/insert.cpp -o insert </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04894">4894</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05134">5134</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -312,7 +314,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html b/classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html
index 03b9e27..3e79008 100644
--- a/classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html
+++ b/classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
 <dl class="section return"><dt>Returns</dt><dd>whether <em>v</em> is not null</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Example</dt><dd>The example compares several JSON types to the null pointer.</dd></dl>
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (array != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">object</span> != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; number &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (number != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">string</span> != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (null != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (array != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">object</span> != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; number &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (number != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">string</span> != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (null != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --><p> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/Lo7eftLny4Io5rgV"><b>online</b></a>): </p><pre class="fragment">[1,2,3] != nullptr true
 {"A":"a","B":"b"} != nullptr true
 17 != nullptr true
@@ -297,7 +299,7 @@
 null != nullptr false
 </pre><p> The example code above can be translated with</p><pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__notequal__nullptr_t.cpp -o operator__notequal__nullptr_t </pre><dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05441">5441</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05669">5669</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html b/classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html
index 36cba4f..0a85507 100644
--- a/classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html
+++ b/classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,7 +281,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>front()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call front()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_null.front() &lt;&lt; &#39;\n&#39;;          // would throw</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_object_empty.front() &lt;&lt; &#39;\n&#39;;  // undefined behavior</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_array_empty.front() &lt;&lt; &#39;\n&#39;;   // undefined behavior</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>front()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call front()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_null.front() &lt;&lt; &#39;\n&#39;;          // would throw</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_object_empty.front() &lt;&lt; &#39;\n&#39;;  // undefined behavior</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_array_empty.front() &lt;&lt; &#39;\n&#39;;   // undefined behavior</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/CUpMCzt6D9v3cYGM"><b>online</b></a>): <pre class="fragment">true
@@ -292,7 +294,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back()</a> &ndash; access the last element</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03651">3651</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03889">3889</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -302,7 +304,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html b/classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html
index 19bd913..6de89f2 100644
--- a/classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html
+++ b/classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -269,16 +271,16 @@
   </tr>
 </table>
 </div><div class="memdoc">
-<p>Serialization function for JSON values. The function tries to mimic Python's <code>json.dumps()</code> function, and currently supports its <code>indent</code> parameter.</p>
+<p>Serialization function for JSON values. The function tries to mimic Python's <code>json.dumps()</code> function, and currently supports its <em>indent</em> parameter.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramdir">[in]</td><td class="paramname">indent</td><td>if indent is nonnegative, then array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. -1 (the default) selects the most compact representation</td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">indent</td><td>If indent is nonnegative, then array elements and object members will be pretty-printed with that indent level. An indent level of <code>0</code> will only insert newlines. <code>-1</code> (the default) selects the most compact representation.</td></tr>
   </table>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>string containing the serialization of the JSON value</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following example shows the effect of different <em>indent</em> parameters to the result of the serialization. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// call dump()</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; j_object.dump() &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j_object.dump(-1) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j_object.dump(0) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_object.dump(4) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j_array.dump() &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_array.dump(-1) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_array.dump(0) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_array.dump(4) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following example shows the effect of different <em>indent</em> parameters to the result of the serialization. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// call dump()</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; j_object.dump() &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j_object.dump(-1) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j_object.dump(0) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_object.dump(4) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j_array.dump() &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_array.dump(-1) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_array.dump(0) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_array.dump(4) &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/rjYfsEq7v1RCHprk"><b>online</b></a>): <pre class="fragment">{"one":1,"two":2}
 
 {"one":1,"two":2}
@@ -317,7 +319,7 @@
 <dl class="section see"><dt>See also</dt><dd><a href="https://docs.python.org/2/library/json.html#json.dump">https://docs.python.org/2/library/json.html#json.dump</a></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02097">2097</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02230">2230</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -327,7 +329,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html b/classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html
index 7501e55..5dc1dde 100644
--- a/classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html
+++ b/classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,7 +285,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Amortized constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON array. Note how the <code>null</code> value was silently converted to a JSON array. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    array.push_back(6);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    array += 7;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += <span class="stringliteral">&quot;first&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON array. Note how the <code>null</code> value was silently converted to a JSON array. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    array.push_back(6);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    array += 7;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += <span class="stringliteral">&quot;first&quot;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += <span class="stringliteral">&quot;second&quot;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/zz3xkIXJYVhmYAla"><b>online</b></a>): <pre class="fragment">[1,2,3,4,5]
 null
 [1,2,3,4,5,6,7]
@@ -291,7 +293,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/push_back.cpp -o push_back </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04768">4768</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05008">5008</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html b/classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html
index 4a74e70..d937621 100644
--- a/classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html
+++ b/classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -291,7 +293,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with several compatible array type parameters. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &lt;deque&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;forward_list&gt;</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;unordered_set&gt;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;{</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// create an array from std::vector</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::vector&lt;int&gt; c_vector {1, 2, 3, 4};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_vec(c_vector);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// create an array from std::deque</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::deque&lt;double&gt; c_deque {1.2, 2.3, 3.4, 5.6};</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_deque(c_deque);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="comment">// create an array from std::list</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::list&lt;bool&gt; c_list {<span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>, <span class="keyword">true</span>};</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_list(c_list);</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// create an array from std::forward_list</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::forward_list&lt;int64_t&gt; c_flist {12345678909876, 23456789098765, 34567890987654, 45678909876543};</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_flist(c_flist);</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// create an array from std::array</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::array&lt;unsigned long, 4&gt; c_array {{1, 2, 3, 4}};</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array(c_array);</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="comment">// create an array from std::set</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    std::set&lt;std::string&gt; c_set {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;three&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>, <span class="stringliteral">&quot;one&quot;</span>};</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_set(c_set); <span class="comment">// only one entry for &quot;one&quot; is used</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// create an array from std::unordered_set</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    std::unordered_set&lt;std::string&gt; c_uset {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;three&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>, <span class="stringliteral">&quot;one&quot;</span>};</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_uset(c_uset); <span class="comment">// only one entry for &quot;one&quot; is used</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// create an array from std::multiset</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    std::multiset&lt;std::string&gt; c_mset {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>};</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_mset(c_mset); <span class="comment">// only one entry for &quot;one&quot; is used</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="comment">// create an array from std::unordered_multiset</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    std::unordered_multiset&lt;std::string&gt; c_umset {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>};</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_umset(c_umset); <span class="comment">// both entries for &quot;one&quot; are used</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    std::cout &lt;&lt; j_vec &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    std::cout &lt;&lt; j_deque &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    std::cout &lt;&lt; j_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    std::cout &lt;&lt; j_flist &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    std::cout &lt;&lt; j_set &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    std::cout &lt;&lt; j_uset &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    std::cout &lt;&lt; j_mset &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    std::cout &lt;&lt; j_umset &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with several compatible array type parameters. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &lt;deque&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;forward_list&gt;</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;unordered_set&gt;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;{</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// create an array from std::vector</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::vector&lt;int&gt; c_vector {1, 2, 3, 4};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_vec(c_vector);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// create an array from std::deque</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::deque&lt;double&gt; c_deque {1.2, 2.3, 3.4, 5.6};</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_deque(c_deque);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="comment">// create an array from std::list</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::list&lt;bool&gt; c_list {<span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>, <span class="keyword">true</span>};</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_list(c_list);</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// create an array from std::forward_list</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::forward_list&lt;int64_t&gt; c_flist {12345678909876, 23456789098765, 34567890987654, 45678909876543};</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_flist(c_flist);</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// create an array from std::array</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::array&lt;unsigned long, 4&gt; c_array {{1, 2, 3, 4}};</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array(c_array);</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <span class="comment">// create an array from std::set</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    std::set&lt;std::string&gt; c_set {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;three&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>, <span class="stringliteral">&quot;one&quot;</span>};</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_set(c_set); <span class="comment">// only one entry for &quot;one&quot; is used</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// create an array from std::unordered_set</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    std::unordered_set&lt;std::string&gt; c_uset {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;three&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>, <span class="stringliteral">&quot;one&quot;</span>};</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_uset(c_uset); <span class="comment">// only one entry for &quot;one&quot; is used</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="comment">// create an array from std::multiset</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    std::multiset&lt;std::string&gt; c_mset {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>};</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_mset(c_mset); <span class="comment">// only one entry for &quot;one&quot; is used</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="comment">// create an array from std::unordered_multiset</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    std::unordered_multiset&lt;std::string&gt; c_umset {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>};</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_umset(c_umset); <span class="comment">// both entries for &quot;one&quot; are used</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">// serialize the JSON arrays</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    std::cout &lt;&lt; j_vec &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    std::cout &lt;&lt; j_deque &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    std::cout &lt;&lt; j_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    std::cout &lt;&lt; j_flist &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    std::cout &lt;&lt; j_set &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    std::cout &lt;&lt; j_uset &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    std::cout &lt;&lt; j_mset &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    std::cout &lt;&lt; j_umset &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/MghSilgvyh4ZJShY"><b>online</b></a>): <pre class="fragment">[1,2,3,4]
 [1.2,2.3,3.4,5.6]
 [true,true,false,true]
@@ -305,7 +307,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">basic_json(const array_t&amp;)</a> &ndash; create an array value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01144">1144</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01242">1242</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -315,7 +317,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html b/classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html
index b3cd672..5920927 100644
--- a/classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html
+++ b/classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -284,14 +286,14 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how arrays can be swapped with <code>swap()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = {{<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3, 4}}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create an array_t</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">json::array_t</a> array = {<span class="stringliteral">&quot;Snap&quot;</span>, <span class="stringliteral">&quot;Crackle&quot;</span>, <span class="stringliteral">&quot;Pop&quot;</span>};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// swap the array stored in the JSON value</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    value[<span class="stringliteral">&quot;array&quot;</span>].swap(array);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output the values</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value = &quot;</span> &lt;&lt; value &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;array = &quot;</span> &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0_html_ab00b882d39306d663c23dab110f5cae0"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">nlohmann::basic_json::array_t</a></div><div class="ttdeci">ArrayType&lt; basic_json, AllocatorType&lt; basic_json &gt;&gt; array_t</div><div class="ttdoc">a type for an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00394">json.hpp:394</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how arrays can be swapped with <code>swap()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = {{<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3, 4}}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create an array_t</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">json::array_t</a> array = {<span class="stringliteral">&quot;Snap&quot;</span>, <span class="stringliteral">&quot;Crackle&quot;</span>, <span class="stringliteral">&quot;Pop&quot;</span>};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// swap the array stored in the JSON value</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    value[<span class="stringliteral">&quot;array&quot;</span>].swap(array);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output the values</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value = &quot;</span> &lt;&lt; value &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;array = &quot;</span> &lt;&lt; array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0_html_ab00b882d39306d663c23dab110f5cae0"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">nlohmann::basic_json::array_t</a></div><div class="ttdeci">ArrayType&lt; basic_json, AllocatorType&lt; basic_json &gt;&gt; array_t</div><div class="ttdoc">a type for an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00427">json.hpp:427</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/Hb0oakHEKJ2cuMTE"><b>online</b></a>): <pre class="fragment">value = {"array":["Snap","Crackle","Pop"]}
 array = [1,2,3,4]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/swap__array_t.cpp -o swap__array_t </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05131">5131</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05368">5368</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html b/classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html
index 973aa3b..8c66c59 100644
--- a/classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html
+++ b/classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -296,13 +298,13 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant plus linear in the distance between pos and end of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// insert number 10 before number 3</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.begin() + 2, 10);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// insert number 10 before number 3</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.begin() + 2, 10);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ePN9gb4P3WTAiT6H"><b>online</b></a>): <pre class="fragment">10
 [1,2,10,3,4]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/insert.cpp -o insert </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04921">4921</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05160">5160</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -312,7 +314,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html b/classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html
index a04cefc..b0635ea 100644
--- a/classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html
+++ b/classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,14 +274,14 @@
 <dl class="section return"><dt>Returns</dt><dd>the type of the JSON value</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>type()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// call type()</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; (j_null.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">json::value_t::null</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; (j_boolean.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27">json::value_t::boolean</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; (j_number_integer.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">json::value_t::number_integer</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; (j_number_float.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef">json::value_t::number_float</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; (j_object.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; (j_array.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; (j_string.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21">json::value_t::string</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>type()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// call type()</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; (j_null.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">json::value_t::null</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; (j_boolean.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27">json::value_t::boolean</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; (j_number_integer.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">json::value_t::number_integer</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; (j_number_float.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef">json::value_t::number_float</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; (j_object.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; (j_array.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; (j_string.type() == <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21">json::value_t::string</a>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21">nlohmann::basic_json::value_t::string</a></div><div class="ttdoc">string value </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">nlohmann::basic_json::value_t::null</a></div><div class="ttdoc">null value </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef">nlohmann::basic_json::value_t::number_float</a></div><div class="ttdoc">number value (floating-point) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27">nlohmann::basic_json::value_t::boolean</a></div><div class="ttdoc">boolean value </div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">nlohmann::basic_json::value_t::number_integer</a></div><div class="ttdoc">number value (integer) </div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">nlohmann::basic_json::value_t::number_integer</a></div><div class="ttdoc">number value (signed integer) </div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ZqSWHApgHNYddvEU"><b>online</b></a>): <pre class="fragment">true
 true
 true
@@ -290,7 +292,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/type.cpp -o type </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02133">2133</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02272">2272</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html b/classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html
index 8b3ee4c..8709d0d 100644
--- a/classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html
+++ b/classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -288,7 +290,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">basic_json(const CompatibleNumberUnsignedType)</a> &ndash; create a number value (unsigned integer) from a compatible number type</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01373">1373</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01486">1486</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -298,7 +300,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html b/classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html
index de7b9c7..1eb4f0b 100644
--- a/classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html
+++ b/classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -284,14 +286,14 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how strings can be swapped with <code>swap()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = { <span class="stringliteral">&quot;the good&quot;</span>, <span class="stringliteral">&quot;the bad&quot;</span>, <span class="stringliteral">&quot;the ugly&quot;</span> };</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create string_t</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">json::string_t</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;the fast&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// swap the object stored in the JSON value</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    value[1].swap(<span class="keywordtype">string</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output the values</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value = &quot;</span> &lt;&lt; value &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;string = &quot;</span> &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42_html_ab63e618bbb0371042b1bec17f5891f42"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">nlohmann::basic_json::string_t</a></div><div class="ttdeci">StringType string_t</div><div class="ttdoc">a type for a string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00441">json.hpp:441</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how strings can be swapped with <code>swap()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = { <span class="stringliteral">&quot;the good&quot;</span>, <span class="stringliteral">&quot;the bad&quot;</span>, <span class="stringliteral">&quot;the ugly&quot;</span> };</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create string_t</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">json::string_t</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;the fast&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// swap the object stored in the JSON value</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    value[1].swap(<span class="keywordtype">string</span>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output the values</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value = &quot;</span> &lt;&lt; value &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;string = &quot;</span> &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42_html_ab63e618bbb0371042b1bec17f5891f42"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">nlohmann::basic_json::string_t</a></div><div class="ttdeci">StringType string_t</div><div class="ttdoc">a type for a string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00474">json.hpp:474</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/747DNDuWilHBrac3"><b>online</b></a>): <pre class="fragment">value = ["the good","the fast","the ugly"]
 string = the bad
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/swap__string_t.cpp -o swap__string_t </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05199">5199</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05434">5434</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html b/classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html
index 874745d..0f1d711 100644
--- a/classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html
+++ b/classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,7 +282,7 @@
 <li>Has the semantics of <code>const_cast&lt;const basic_json&amp;&gt;(*this).begin()</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>cbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to the first element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::const_iterator it = array.cbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>cbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to the first element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::const_iterator it = array.cbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/yarD6DyxYlIf8Ymg"><b>online</b></a>): <pre class="fragment">1
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/cbegin.cpp -o cbegin </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin()</a> &ndash; returns an iterator to the beginning </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend()</a> &ndash; returns a const iterator to the end</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04132">4132</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04367">4367</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html b/classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html
index 20d6347..f8fb568 100644
--- a/classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html
+++ b/classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is an integer or unsigned integer number, <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_number_integer()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_number_integer()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_number_integer()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_number_integer()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_number_integer() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/WRiD854M5bTtQTnw"><b>online</b></a>): <pre class="fragment">false
 false
 true
@@ -289,7 +291,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float()</a> &ndash; check if value is a floating-point number</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02293">2293</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02432">2432</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html b/classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html
index cb4aaab..ee4eca4 100644
--- a/classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html
+++ b/classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>whether <em>lhs</em> is greater than to <em>rhs</em> </dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.0000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; &lt;= &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 &lt;= array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; &lt;= &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 &lt;= object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; &lt;= &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 &lt;= number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; &lt;= &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 &lt;= string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.0000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; &lt;= &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 &lt;= array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; &lt;= &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 &lt;= object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; &lt;= &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 &lt;= number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; &lt;= &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 &lt;= string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/m4lNMI48FqF96QWd"><b>online</b></a>): <pre class="fragment">[1,2,3] &lt;= [1,2,4] true
 {"A":"a","B":"b"} &lt;= {"A":"a","B":"b"} true
 17 &lt;= 17.0000000000001 true
@@ -297,7 +299,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__lessequal.cpp -o operator__lessequal </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05593">5593</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05815">5815</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html b/classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html
index c6b931a..0acd41e 100644
--- a/classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html
+++ b/classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -299,14 +301,14 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor for different <a class="el" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> values <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create the different JSON values with default values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">json::value_t::null</a>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27">json::value_t::boolean</a>);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">json::value_t::number_integer</a>);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef">json::value_t::number_float</a>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21">json::value_t::string</a>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the JSON values</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_boolean &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_number_integer &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_number_float &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_string &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor for different <a class="el" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> values <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create the different JSON values with default values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">json::value_t::null</a>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27">json::value_t::boolean</a>);</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">json::value_t::number_integer</a>);</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef">json::value_t::number_float</a>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21">json::value_t::string</a>);</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the JSON values</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_boolean &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_number_integer &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_number_float &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_string &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ab45cffe084dd3d20d928bee85e7b0f21">nlohmann::basic_json::value_t::string</a></div><div class="ttdoc">string value </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">nlohmann::basic_json::value_t::null</a></div><div class="ttdoc">null value </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522ad9966ecb59667235a57b4b999a649eef">nlohmann::basic_json::value_t::number_float</a></div><div class="ttdoc">number value (floating-point) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27">nlohmann::basic_json::value_t::boolean</a></div><div class="ttdoc">boolean value </div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">nlohmann::basic_json::value_t::number_integer</a></div><div class="ttdoc">number value (integer) </div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a5763da164f8659d94a56e29df64b4bcc">nlohmann::basic_json::value_t::number_integer</a></div><div class="ttdoc">number value (signed integer) </div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/RMpEI2o935KgD2o2"><b>online</b></a>): <pre class="fragment">null
 false
 0
@@ -332,7 +334,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json(const number_unsigned_t)</a> &ndash; create a number (unsigned) value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00967">967</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01053">1053</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -342,7 +344,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html b/classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html
index f1a4766..0b129c8 100644
--- a/classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html
+++ b/classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is boolean, <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_boolean()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_boolean()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_boolean()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_boolean()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_boolean() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/tWBJHygekWKqZIqe"><b>online</b></a>): <pre class="fragment">false
 true
 false
@@ -284,7 +286,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/is_boolean.cpp -o is_boolean </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02234">2234</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02373">2373</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -294,7 +296,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html b/classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html
index ddd5510..3fbb12c 100644
--- a/classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html
+++ b/classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -286,13 +288,14 @@
 <td>array </td><td>result of function <code>array_t::empty()</code> </td></tr>
 </table>
 </dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This function does not return whether a string stored as JSON value is empty - it returns whether the JSON container itself is empty which is false in the case of a string.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant, as long as <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a> and <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> satisfy the Container concept; that is, their <code>empty()</code> functions have constant complexity.</dd></dl>
 <dl class="section user"><dt>Requirements</dt><dd>This function helps <code>basic_json</code> satisfying the <a href="http://en.cppreference.com/w/cpp/concept/Container">Container</a> requirements:<ul>
 <li>The complexity is constant.</li>
 <li>Has the semantics of <code>begin() == end()</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code uses <code>empty()</code> to check if a JSON object contains any elements. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call empty()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_null.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_boolean.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_integer.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_object_empty.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_array.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_array_empty.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; j_string.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code uses <code>empty()</code> to check if a JSON object contains any elements. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call empty()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_null.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_boolean.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_integer.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_object_empty.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_array.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_array_empty.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; j_string.empty() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/rP64u8KqUJqB9lFd"><b>online</b></a>): <pre class="fragment">true
@@ -308,7 +311,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size()</a> &ndash; returns the number of elements</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04443">4443</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04682">4682</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -318,7 +321,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html b/classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html
index 79f511d..59ee77b 100644
--- a/classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html
+++ b/classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read and written using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// change element with key &quot;three&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;three&quot;</span>] = 3;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// mention nonexisting key</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;four&quot;</span>];</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// write to nonexisting key</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;five&quot;</span>][<span class="stringliteral">&quot;really&quot;</span>][<span class="stringliteral">&quot;nested&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output changed object</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read and written using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// change element with key &quot;three&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;three&quot;</span>] = 3;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// mention nonexisting key</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;four&quot;</span>];</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// write to nonexisting key</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;five&quot;</span>][<span class="stringliteral">&quot;really&quot;</span>][<span class="stringliteral">&quot;nested&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output changed object</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ujLOsxCRQE3T8cYO"><b>online</b></a>): <pre class="fragment">2
 
 {
@@ -311,7 +313,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value()</a> for access by value with a default value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03313">3313</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03478">3478</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -321,7 +323,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html b/classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html
index f57ac39..8b2af6e 100644
--- a/classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html
+++ b/classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -277,7 +279,7 @@
 </dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02028">2028</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02158">2158</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -287,7 +289,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html b/classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html
index 70c5473..bf29f26 100644
--- a/classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html
+++ b/classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,7 +285,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container, O(log(<code>size()</code>)).</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON object. Note how the <code>null</code> value was silently converted to a JSON object. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="keywordtype">object</span>.push_back(json::object_t::value_type(<span class="stringliteral">&quot;three&quot;</span>, 3));</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span> += json::object_t::value_type(<span class="stringliteral">&quot;four&quot;</span>, 4);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += json::object_t::value_type(<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += json::object_t::value_type(<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>push_back()</code> and <code>+=</code> can be used to add elements to a JSON object. Note how the <code>null</code> value was silently converted to a JSON object. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="keywordtype">object</span>.push_back(json::object_t::value_type(<span class="stringliteral">&quot;three&quot;</span>, 3));</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span> += json::object_t::value_type(<span class="stringliteral">&quot;four&quot;</span>, 4);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null += json::object_t::value_type(<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    null += json::object_t::value_type(<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/lmXOd27kgJ2wQGMZ"><b>online</b></a>): <pre class="fragment">{"one":1,"two":2}
 null
 {"four":4,"one":1,"three":3,"two":2}
@@ -291,7 +293,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/push_back__object_t__value.cpp -o push_back__object_t__value </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04818">4818</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05058">5058</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html b/classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html
new file mode 100644
index 0000000..320d8a2
--- /dev/null
+++ b/classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html
@@ -0,0 +1,352 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>JSON for Modern C++: nlohmann::basic_json::parse</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="mylayout.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">JSON for Modern C++
+   &#160;<span id="projectnumber">2.0.2</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespacenlohmann.html">nlohmann</a></li><li class="navelem"><a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="contents">
+<table cellspacing="0" cellpadding="0" border="0">
+  <tr>
+   <td valign="top">
+      <div class="navtab">
+        <table>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html#a0d46dd5ef4992fb80f9f0d9f56f16eae">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">clear</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">const_reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">const_reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">count</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">diff</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">empty</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e">flatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html#ac5693cff1df0775cd3fbe960412cde4b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html#a363da77bc39cae041d59ee334ac4f41b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">get_allocator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">is_number_integer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">is_primitive</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">is_structured</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">max_size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html#a101cd941eb8a5c299660449c71d0e75e">operator value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html#aef496a56163710084e13612ab73e6ed2">operator ValueType</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">operator&lt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">operator=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">operator&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">operator&gt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
+        </table>
+      </div>
+   </td>
+   <td valign="top" class="mempage">
+<a class="anchor" id="a959bc32fc72a76cd5a1bd6977926f787"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;template&lt; typename U, typename V, typename...Args &gt; class ObjectType = std::map, template&lt; typename U, typename...Args &gt; class ArrayType = std::vector, class StringType  = std::string, class BooleanType  = bool, class NumberIntegerType  = std::int64_t, class NumberUnsignedType  = std::uint64_t, class NumberFloatType  = double, template&lt; typename U &gt; class AllocatorType = std::allocator&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> <a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a>::parse </td>
+          <td>(</td>
+          <td class="paramtype">std::istream &amp;&amp;&#160;</td>
+          <td class="paramname"><em>i</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a>&#160;</td>
+          <td class="paramname"><em>cb</em> = <code>nullptr</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">i</td><td>stream to read a serialized JSON value from </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>a parser callback function of type <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> which is used to control the deserialization by filtering unwanted values (optional)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>result of the deserialization</dd></dl>
+<dl class="section user"><dt>Complexity</dt><dd>Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function <em>cb</em> has a super-linear complexity.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>A UTF-8 byte order mark is silently ignored.</dd></dl>
+<dl class="section user"><dt>Example</dt><dd>The example below demonstrates the <code>parse()</code> function with and without callback function. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// a JSON text</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">auto</span> text = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="stringliteral">    {</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">        &quot;Image&quot;: {</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">            &quot;Width&quot;:  800,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">            &quot;Height&quot;: 600,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">            &quot;Title&quot;:  &quot;View from 15th Floor&quot;,</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral">            &quot;Thumbnail&quot;: {</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">                &quot;Url&quot;:    &quot;http://www.example.com/image/481989943&quot;,</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="stringliteral">                &quot;Height&quot;: 125,</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">                &quot;Width&quot;:  100</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="stringliteral">            },</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="stringliteral">            &quot;Animated&quot; : false,</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="stringliteral">            &quot;IDs&quot;: [116, 943, 234, 38793]</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="stringliteral">    }</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="stringliteral">    )&quot;;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="stringliteral">    </span><span class="comment">// fill a stream with JSON text</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    ss &lt;&lt; text;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="comment">// parse and serialize JSON</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_complete = <a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">json::parse</a>(ss);</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_complete &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <span class="comment">// define parser callback</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">json::parser_callback_t</a> cb = [](<span class="keywordtype">int</span> depth, <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">json::parse_event_t</a> event, <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> &amp; parsed)</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    {</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <span class="comment">// skip object elements with key &quot;Thumbnail&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keywordflow">if</span> (event == <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d">json::parse_event_t::key</a> and parsed == <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(<span class="stringliteral">&quot;Thumbnail&quot;</span>))</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        }</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        {</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;        }</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    };</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="comment">// fill a stream with JSON text</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    ss.clear();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    ss &lt;&lt; text;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="comment">// parse (with callback) and serialize JSON</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_filtered = <a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">json::parse</a>(ss, cb);</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_filtered &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;}</div><div class="ttc" id="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080_html_a9a0b1acc13023170d2295eb512289080"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">nlohmann::basic_json::parse</a></div><div class="ttdeci">static basic_json parse(const string_t &amp;s, const parser_callback_t cb=nullptr)</div><div class="ttdoc">deserialize from string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05949">json.hpp:5949</a></div></div>
+<div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a_html_a9e35475e2027520a78e09f460dbe048a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">nlohmann::basic_json::parser_callback_t</a></div><div class="ttdeci">std::function&lt; bool(int depth, parse_event_t event, basic_json &amp;parsed)&gt; parser_callback_t</div><div class="ttdoc">per-element parser callback type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01002">json.hpp:1002</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d">nlohmann::basic_json::parse_event_t::key</a></div><div class="ttdoc">the parser read a key of a value in an object </div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafe"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">nlohmann::basic_json::parse_event_t</a></div><div class="ttdeci">parse_event_t</div><div class="ttdoc">JSON callback events. </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00932">json.hpp:932</a></div></div>
+</div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ir2u6Qbw18O89IWk"><b>online</b></a>): <pre class="fragment">{
+    "Image": {
+        "Animated": false,
+        "Height": 600,
+        "IDs": [
+            116,
+            943,
+            234,
+            38793
+        ],
+        "Thumbnail": {
+            "Height": 125,
+            "Url": "http://www.example.com/image/481989943",
+            "Width": 100
+        },
+        "Title": "View from 15th Floor",
+        "Width": 800
+    }
+}
+
+{
+    "Image": {
+        "Animated": false,
+        "Height": 600,
+        "IDs": [
+            116,
+            943,
+            234,
+            38793
+        ],
+        "Title": "View from 15th Floor",
+        "Width": 800
+    }
+}
+</pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/parse__istream__parser_callback_t.cpp -o parse__istream__parser_callback_t </pre></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse(const string_t&amp;, const parser_callback_t)</a> for a version that reads from a string</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
+
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05988">5988</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+
+</div>
+</div>
+    </td>
+  </tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html b/classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html
index d44258c..6982459 100644
--- a/classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html
+++ b/classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
 <dl class="section return"><dt>Returns</dt><dd>whether <em>v</em> is null</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Example</dt><dd>The example compares several JSON types to the null pointer.</dd></dl>
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (array == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">object</span> == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; number &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (number == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">string</span> == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (null == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (array == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">object</span> == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; number &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (number == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">string</span> == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (null == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --><p> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/GGWi3cRmA5A3n1N2"><b>online</b></a>): </p><pre class="fragment">[1,2,3] == nullptr false
 {"A":"a","B":"b"} == nullptr false
 17 == nullptr false
@@ -297,7 +299,7 @@
 null == nullptr true
 </pre><p> The example code above can be translated with</p><pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__equal__nullptr_t.cpp -o operator__equal__nullptr_t </pre><dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05379">5379</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05607">5607</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html b/classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html
index 47847dc..3d8e0fa 100644
--- a/classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html
+++ b/classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
 <dl class="section return"><dt>Returns</dt><dd>whether <em>v</em> is null</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Example</dt><dd>The example compares several JSON types to the null pointer.</dd></dl>
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (array == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">object</span> == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; number &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (number == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">string</span> == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (null == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (array == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">object</span> == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; number &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (number == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">string</span> == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="stringliteral">&quot; == nullptr &quot;</span> &lt;&lt; (null == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --><p> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/GGWi3cRmA5A3n1N2"><b>online</b></a>): </p><pre class="fragment">[1,2,3] == nullptr false
 {"A":"a","B":"b"} == nullptr false
 17 == nullptr false
@@ -297,7 +299,7 @@
 null == nullptr true
 </pre><p> The example code above can be translated with</p><pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__equal__nullptr_t.cpp -o operator__equal__nullptr_t </pre><dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05388">5388</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05616">5616</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html b/classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html
index 7010690..be6d683 100644
--- a/classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html
+++ b/classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,12 +287,12 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how array elements can be read using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {<span class="stringliteral">&quot;first&quot;</span>, <span class="stringliteral">&quot;2nd&quot;</span>, <span class="stringliteral">&quot;third&quot;</span>, <span class="stringliteral">&quot;fourth&quot;</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// output element at index 2 (third element)</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; array.at(2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how array elements can be read using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {<span class="stringliteral">&quot;first&quot;</span>, <span class="stringliteral">&quot;2nd&quot;</span>, <span class="stringliteral">&quot;third&quot;</span>, <span class="stringliteral">&quot;fourth&quot;</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// output element at index 2 (third element)</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; array.at(2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/4g1Gn5htCIExLBgW"><b>online</b></a>): <pre class="fragment">"third"
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operatorarray__size_type_const.cpp -o operatorarray__size_type_const </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03272">3272</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03438">3438</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html b/classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html
new file mode 100644
index 0000000..f96f6c6
--- /dev/null
+++ b/classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html
@@ -0,0 +1,352 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>JSON for Modern C++: nlohmann::basic_json::parse</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="mylayout.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">JSON for Modern C++
+   &#160;<span id="projectnumber">2.0.2</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li>
+        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+      </li>
+    </ul>
+  </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="namespacenlohmann.html">nlohmann</a></li><li class="navelem"><a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="contents">
+<table cellspacing="0" cellpadding="0" border="0">
+  <tr>
+   <td valign="top">
+      <div class="navtab">
+        <table>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html#a0d46dd5ef4992fb80f9f0d9f56f16eae">at</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">begin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">clear</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">const_reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">const_reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">count</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">diff</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">empty</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">end</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">find</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e">flatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">front</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html#ac5693cff1df0775cd3fbe960412cde4b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html#a363da77bc39cae041d59ee334ac4f41b">get</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">get_allocator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">get_ptr</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">get_ref</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">insert</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">is_number_integer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">is_primitive</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">is_structured</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">iterator_wrapper</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">max_size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html#a101cd941eb8a5c299660449c71d0e75e">operator value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html#aef496a56163710084e13612ab73e6ed2">operator ValueType</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">operator!=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">operator+=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">operator&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">operator&lt;&lt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">operator&lt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">operator=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">operator==</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">operator&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">operator&gt;=</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">operator&gt;&gt;</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
+          <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">push_back</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">rbegin</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">reference</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">rend</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">reverse_iterator</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">swap</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
+        </table>
+      </div>
+   </td>
+   <td valign="top" class="mempage">
+<a class="anchor" id="a9a0b1acc13023170d2295eb512289080"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;template&lt; typename U, typename V, typename...Args &gt; class ObjectType = std::map, template&lt; typename U, typename...Args &gt; class ArrayType = std::vector, class StringType  = std::string, class BooleanType  = bool, class NumberIntegerType  = std::int64_t, class NumberUnsignedType  = std::uint64_t, class NumberFloatType  = double, template&lt; typename U &gt; class AllocatorType = std::allocator&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> <a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a>::parse </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> &amp;&#160;</td>
+          <td class="paramname"><em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a>&#160;</td>
+          <td class="paramname"><em>cb</em> = <code>nullptr</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>string to read a serialized JSON value from </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">cb</td><td>a parser callback function of type <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> which is used to control the deserialization by filtering unwanted values (optional)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>result of the deserialization</dd></dl>
+<dl class="section user"><dt>Complexity</dt><dd>Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function <em>cb</em> has a super-linear complexity.</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>A UTF-8 byte order mark is silently ignored.</dd></dl>
+<dl class="section user"><dt>Example</dt><dd>The example below demonstrates the <code>parse()</code> function with and without callback function. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// a JSON text</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    std::string text = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="stringliteral">    {</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">        &quot;Image&quot;: {</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">            &quot;Width&quot;:  800,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">            &quot;Height&quot;: 600,</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">            &quot;Title&quot;:  &quot;View from 15th Floor&quot;,</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral">            &quot;Thumbnail&quot;: {</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">                &quot;Url&quot;:    &quot;http://www.example.com/image/481989943&quot;,</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="stringliteral">                &quot;Height&quot;: 125,</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">                &quot;Width&quot;:  100</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="stringliteral">            },</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="stringliteral">            &quot;Animated&quot; : false,</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="stringliteral">            &quot;IDs&quot;: [116, 943, 234, 38793]</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="stringliteral">    }</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="stringliteral">    )&quot;;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="stringliteral">    </span><span class="comment">// parse and serialize JSON</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_complete = <a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">json::parse</a>(text);</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_complete &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <span class="comment">// define parser callback</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">json::parser_callback_t</a> cb = [](<span class="keywordtype">int</span> depth, <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">json::parse_event_t</a> event, <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> &amp; parsed)</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;        <span class="comment">// skip object elements with key &quot;Thumbnail&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;        <span class="keywordflow">if</span> (event == <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d">json::parse_event_t::key</a> and parsed == <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>(<span class="stringliteral">&quot;Thumbnail&quot;</span>))</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;        {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        }</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;        {</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        }</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    };</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="comment">// parse (with callback) and serialize JSON</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_filtered = <a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">json::parse</a>(text, cb);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; j_filtered &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;}</div><div class="ttc" id="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080_html_a9a0b1acc13023170d2295eb512289080"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">nlohmann::basic_json::parse</a></div><div class="ttdeci">static basic_json parse(const string_t &amp;s, const parser_callback_t cb=nullptr)</div><div class="ttdoc">deserialize from string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05949">json.hpp:5949</a></div></div>
+<div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a_html_a9e35475e2027520a78e09f460dbe048a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">nlohmann::basic_json::parser_callback_t</a></div><div class="ttdeci">std::function&lt; bool(int depth, parse_event_t event, basic_json &amp;parsed)&gt; parser_callback_t</div><div class="ttdoc">per-element parser callback type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01002">json.hpp:1002</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea3c6e0b8a9c15224a8228b9a98ca1531d">nlohmann::basic_json::parse_event_t::key</a></div><div class="ttdoc">the parser read a key of a value in an object </div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafe"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">nlohmann::basic_json::parse_event_t</a></div><div class="ttdeci">parse_event_t</div><div class="ttdoc">JSON callback events. </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00932">json.hpp:932</a></div></div>
+</div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/SrKpkE9ivmvd2OUy"><b>online</b></a>): <pre class="fragment">{
+    "Image": {
+        "Animated": false,
+        "Height": 600,
+        "IDs": [
+            116,
+            943,
+            234,
+            38793
+        ],
+        "Thumbnail": {
+            "Height": 125,
+            "Url": "http://www.example.com/image/481989943",
+            "Width": 100
+        },
+        "Title": "View from 15th Floor",
+        "Width": 800
+    }
+}
+
+{
+    "Image": {
+        "Animated": false,
+        "Height": 600,
+        "IDs": [
+            116,
+            943,
+            234,
+            38793
+        ],
+        "Title": "View from 15th Floor",
+        "Width": 800
+    }
+}
+</pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/parse__string__parser_callback_t.cpp -o parse__string__parser_callback_t </pre></dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse(std::istream&amp;, const parser_callback_t)</a> for a version that reads from an input stream</dd></dl>
+<dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
+
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05949">5949</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+
+</div>
+</div>
+    </td>
+  </tr>
+</table>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.11
+</small></address>
+</body>
+</html>
diff --git a/classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html b/classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html
index b735c93..7a74b81 100644
--- a/classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html
+++ b/classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,14 +285,14 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with an <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an object_t value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">json::object_t</a> value = { {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2} };</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON object from the value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(value);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON object</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f_html_a0ac9894c9de8dc551cf2e5f1c605537f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">nlohmann::basic_json::object_t</a></div><div class="ttdeci">ObjectType&lt; StringType, basic_json, std::less&lt; StringType &gt;, AllocatorType&lt; std::pair&lt; const StringType, basic_json &gt;&gt;&gt; object_t</div><div class="ttdoc">a type for an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00348">json.hpp:348</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with an <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an object_t value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">json::object_t</a> value = { {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2} };</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON object from the value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(value);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON object</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f_html_a0ac9894c9de8dc551cf2e5f1c605537f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">nlohmann::basic_json::object_t</a></div><div class="ttdeci">ObjectType&lt; StringType, basic_json, std::less&lt; StringType &gt;, AllocatorType&lt; std::pair&lt; const StringType, basic_json &gt;&gt;&gt; object_t</div><div class="ttdoc">a type for an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00381">json.hpp:381</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/DgtHcz5L6JphTOGJ"><b>online</b></a>): <pre class="fragment">{"one":1,"two":2}
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__object_t.cpp -o basic_json__object_t </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">basic_json(const CompatibleObjectType&amp;)</a> &ndash; create an object value from a compatible STL container</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01042">1042</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01135">1135</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html b/classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html
index e8d350e..88560f0 100644
--- a/classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html
+++ b/classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -284,14 +286,14 @@
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size of the initializer list <em>init</em>.</dd></dl>
 <dl class="section note"><dt>Note</dt><dd>This function is required to resolve an ambiguous overload error, because pairs like <code>{"key", "value"}</code> can be both interpreted as <code>object_t::value_type</code> or <code>std::initializer_list&lt;basic_json&gt;</code>, see <a href="https://github.com/nlohmann/json/issues/235">https://github.com/nlohmann/json/issues/235</a> for more information.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how initializer lists are treated as objects when possible. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values:</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="keywordtype">object</span>.push_back({<span class="stringliteral">&quot;three&quot;</span>, 3});  <span class="comment">// object is extended</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span> += {<span class="stringliteral">&quot;four&quot;</span>, 4};           <span class="comment">// object is extended</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null.push_back({<span class="stringliteral">&quot;five&quot;</span>, 5});     <span class="comment">// null is converted to array</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// would throw:</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">//object.push_back({1, 2, 3});</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how initializer lists are treated as objects when possible. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values:</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="keywordtype">object</span>.push_back({<span class="stringliteral">&quot;three&quot;</span>, 3});  <span class="comment">// object is extended</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span> += {<span class="stringliteral">&quot;four&quot;</span>, 4};           <span class="comment">// object is extended</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null.push_back({<span class="stringliteral">&quot;five&quot;</span>, 5});     <span class="comment">// null is converted to array</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// would throw:</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">//object.push_back({1, 2, 3});</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/wZF4dRHjfCyjb3rx"><b>online</b></a>): <pre class="fragment">{"one":1,"two":2}
 null
 {"four":4,"one":1,"three":3,"two":2}
 [["five",5]]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/push_back__initializer_list.cpp -o push_back__initializer_list </pre> </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04849">4849</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05089">5089</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html b/classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html
index e615e40..d7198f7 100644
--- a/classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html
+++ b/classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00229">229</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00260">260</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html b/classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html
index 3182f9a..1c82396 100644
--- a/classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html
+++ b/classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -257,7 +259,7 @@
         </tr>
       </table>
 </div><div class="memdoc">
-<p>With a parser callback function, the result of parsing a JSON text can be influenced. When passed to <a class="el" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse(std::istream&amp;, parser_callback_t)</a> or <a class="el" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse(const string_t&amp;, parser_callback_t)</a>, it is called on certain events (passed as <a class="el" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a> via parameter <em>event</em>) with a set recursion depth <em>depth</em> and context JSON value <em>parsed</em>. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.</p>
+<p>With a parser callback function, the result of parsing a JSON text can be influenced. When passed to <a class="el" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a>(std::istream&amp;, const parser_callback_t) or <a class="el" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse(const string_t&amp;, const parser_callback_t)</a>, it is called on certain events (passed as <a class="el" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a> via parameter <em>event</em>) with a set recursion depth <em>depth</em> and context JSON value <em>parsed</em>. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.</p>
 <p>We distinguish six scenarios (determined by the event type) in which the callback function can be called. The following table describes the values of the parameters <em>depth</em>, <em>event</em>, and <em>parsed</em>.</p>
 <table class="doxtable">
 <tr>
@@ -275,7 +277,11 @@
 <tr>
 <td>parse_event_t::value </td><td>the parser finished reading a JSON value </td><td>depth of the value </td><td>the parsed JSON value </td></tr>
 </table>
-<p>Discarding a value (i.e., returning <code>false</code>) has different effects depending on the context in which function was called:</p>
+<div class="image">
+<img src="callback_events.png" alt="callback_events.png"/>
+<div class="caption">
+Example when certain parse events are triggered</div></div>
+<p> Discarding a value (i.e., returning <code>false</code>) has different effects depending on the context in which function was called:</p>
 <ul>
 <li>Discarded values in structured types are skipped. That is, the parser will behave as if the discarded value was never read.</li>
 <li>In case a value outside a structured type is skipped, it is replaced with <code>null</code>. This case happens if the top-level element is skipped.</li>
@@ -289,10 +295,10 @@
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Whether the JSON value which called the function during parsing should be kept (<code>true</code>) or not (<code>false</code>). In the latter case, it is either skipped completely or replaced by an empty discarded object.</dd></dl>
-<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse(std::istream&amp;, parser_callback_t)</a> or <a class="el" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse(const string_t&amp;, parser_callback_t)</a> for examples</dd></dl>
+<dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse(std::istream&amp;, parser_callback_t)</a> or <a class="el" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse(const string_t&amp;, parser_callback_t)</a> for examples</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00918">918</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01002">1002</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -302,7 +308,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html b/classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html
index abb9bf8..8537cd0 100644
--- a/classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html
+++ b/classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -284,14 +286,14 @@
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size of the initializer list <em>init</em>.</dd></dl>
 <dl class="section note"><dt>Note</dt><dd>This function is required to resolve an ambiguous overload error, because pairs like <code>{"key", "value"}</code> can be both interpreted as <code>object_t::value_type</code> or <code>std::initializer_list&lt;basic_json&gt;</code>, see <a href="https://github.com/nlohmann/json/issues/235">https://github.com/nlohmann/json/issues/235</a> for more information.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how initializer lists are treated as objects when possible. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values:</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="keywordtype">object</span>.push_back({<span class="stringliteral">&quot;three&quot;</span>, 3});  <span class="comment">// object is extended</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span> += {<span class="stringliteral">&quot;four&quot;</span>, 4};           <span class="comment">// object is extended</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null.push_back({<span class="stringliteral">&quot;five&quot;</span>, 5});     <span class="comment">// null is converted to array</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// would throw:</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">//object.push_back({1, 2, 3});</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how initializer lists are treated as objects when possible. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// add values:</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="keywordtype">object</span>.push_back({<span class="stringliteral">&quot;three&quot;</span>, 3});  <span class="comment">// object is extended</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span> += {<span class="stringliteral">&quot;four&quot;</span>, 4};           <span class="comment">// object is extended</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    null.push_back({<span class="stringliteral">&quot;five&quot;</span>, 5});     <span class="comment">// null is converted to array</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">// would throw:</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">//object.push_back({1, 2, 3});</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/wZF4dRHjfCyjb3rx"><b>online</b></a>): <pre class="fragment">{"one":1,"two":2}
 null
 {"four":4,"one":1,"three":3,"two":2}
 [["five",5]]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/push_back__initializer_list.cpp -o push_back__initializer_list </pre> </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04866">4866</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05106">5106</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html b/classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html
index 9128bec..c1b3fed 100644
--- a/classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html
+++ b/classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd><code>log(size()) + count(key)</code></dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows the effect of <code>erase()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call erase</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> count_one = j_object.erase(<span class="stringliteral">&quot;one&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> count_three = j_object.erase(<span class="stringliteral">&quot;three&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; count_one &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; count_three &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows the effect of <code>erase()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call erase</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> count_one = j_object.erase(<span class="stringliteral">&quot;one&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> count_three = j_object.erase(<span class="stringliteral">&quot;three&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; count_one &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; count_three &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/0eXbiM5KTPPXFkyP"><b>online</b></a>): <pre class="fragment">{"two":2}
 1 0
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/erase__key_type.cpp -o erase__key_type </pre></dd></dl>
@@ -296,7 +298,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase(const size_type)</a> &ndash; removes the element from an array at the given index</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03948">3948</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04188">4188</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -306,7 +308,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html b/classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html
index ee87a7f..9585f57 100644
--- a/classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html
+++ b/classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -287,7 +289,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size of the JSON value and the length of the JSON patch. As usually only a fraction of the JSON value is affected by the patch, the complexity can usually be neglected.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows how a JSON patch is applied to a value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// the original document</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> doc = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="stringliteral">        {</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">          &quot;baz&quot;: &quot;qux&quot;,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">          &quot;foo&quot;: &quot;bar&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">    )&quot;_json;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">    </span><span class="comment">// the patch</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> patch = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">        [</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="stringliteral">          { &quot;op&quot;: &quot;replace&quot;, &quot;path&quot;: &quot;/baz&quot;, &quot;value&quot;: &quot;boo&quot; },</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="stringliteral">          { &quot;op&quot;: &quot;add&quot;, &quot;path&quot;: &quot;/hello&quot;, &quot;value&quot;: [&quot;world&quot;] },</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="stringliteral">          { &quot;op&quot;: &quot;remove&quot;, &quot;path&quot;: &quot;/foo&quot;}</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="stringliteral">        ]</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="stringliteral">    )&quot;_json;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="stringliteral">    </span><span class="comment">// apply the patch</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> patched_doc = doc.patch(patch);</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="comment">// output original and patched document</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; doc &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;              &lt;&lt; std::setw(4) &lt;&lt; patched_doc &lt;&lt; std::endl;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows how a JSON patch is applied to a value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// the original document</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> doc = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="stringliteral">        {</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">          &quot;baz&quot;: &quot;qux&quot;,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">          &quot;foo&quot;: &quot;bar&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">        }</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">    )&quot;_json;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">    </span><span class="comment">// the patch</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> patch = R<span class="stringliteral">&quot;(</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">        [</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="stringliteral">          { &quot;op&quot;: &quot;replace&quot;, &quot;path&quot;: &quot;/baz&quot;, &quot;value&quot;: &quot;boo&quot; },</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="stringliteral">          { &quot;op&quot;: &quot;add&quot;, &quot;path&quot;: &quot;/hello&quot;, &quot;value&quot;: [&quot;world&quot;] },</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="stringliteral">          { &quot;op&quot;: &quot;remove&quot;, &quot;path&quot;: &quot;/foo&quot;}</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="stringliteral">        ]</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="stringliteral">    )&quot;_json;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="stringliteral">    </span><span class="comment">// apply the patch</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> patched_doc = doc.patch(patch);</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="comment">// output original and patched document</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; doc &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;              &lt;&lt; std::setw(4) &lt;&lt; patched_doc &lt;&lt; std::endl;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/lbczW3AzcUbH1Nbo"><b>online</b></a>): <pre class="fragment">{
     "baz": "qux",
     "foo": "bar"
@@ -307,7 +309,7 @@
 <a href="https://tools.ietf.org/html/rfc6901">RFC 6901 (JSON Pointer)</a></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 2.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09523">9523</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l09915">9915</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -317,7 +319,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html b/classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html
index c1a22b0..1e7b565 100644
--- a/classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html
+++ b/classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00226">226</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00257">257</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html b/classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html
index 5820cd4..a5a486b 100644
--- a/classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html
+++ b/classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,7 +281,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>front()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call front()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_null.front() &lt;&lt; &#39;\n&#39;;          // would throw</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_object_empty.front() &lt;&lt; &#39;\n&#39;;  // undefined behavior</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_array_empty.front() &lt;&lt; &#39;\n&#39;;   // undefined behavior</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>front()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">json::value_t::object</a>);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_empty(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">json::value_t::array</a>);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// call front()</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_null.front() &lt;&lt; &#39;\n&#39;;          // would throw</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_float.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_object.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_object_empty.front() &lt;&lt; &#39;\n&#39;;  // undefined behavior</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">//std::cout &lt;&lt; j_array_empty.front() &lt;&lt; &#39;\n&#39;;   // undefined behavior</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_string.front() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/CUpMCzt6D9v3cYGM"><b>online</b></a>): <pre class="fragment">true
@@ -292,7 +294,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back()</a> &ndash; access the last element</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03643">3643</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03881">3881</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -302,7 +304,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html b/classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html
index a0eeff3..d31610e 100644
--- a/classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html
+++ b/classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -274,7 +276,7 @@
 <dl class="section warning"><dt>Warning</dt><dd>Writing data to the referee of the result yields an undefined state.</dd></dl>
 <dl class="tparams"><dt>Template Parameters</dt><dd>
   <table class="tparams">
-    <tr><td class="paramname">ReferenceType</td><td>reference type; must be a reference to <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>, <a class="el" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>, or <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>.</td></tr>
+    <tr><td class="paramname">ReferenceType</td><td>reference type; must be a reference to <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>, <a class="el" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>, or <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>. Enforced by static assertion.</td></tr>
   </table>
   </dd>
 </dl>
@@ -286,15 +288,15 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows several calls to <code>get_ref()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting references</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> r1 = value.get_ref&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>&amp;&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> r2 = value.get_ref&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>&amp;&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print the values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; r1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; r2 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// incompatible type throws exception</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        <span class="keyword">auto</span> r3 = value.get_ref&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>&amp;&gt;();</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    }</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; ex)</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    {</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        std::cout &lt;&lt; ex.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    }</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00539">json.hpp:539</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00679">json.hpp:679</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows several calls to <code>get_ref()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting references</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> r1 = value.get_ref&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>&amp;&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> r2 = value.get_ref&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>&amp;&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print the values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; r1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; r2 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// incompatible type throws exception</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        <span class="keyword">auto</span> r3 = value.get_ref&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>&amp;&gt;();</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    }</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="keywordflow">catch</span> (std::domain_error&amp; ex)</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    {</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        std::cout &lt;&lt; ex.what() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    }</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00572">json.hpp:572</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00711">json.hpp:711</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/WiO1oBWDvIs82OX1"><b>online</b></a>): <pre class="fragment">17 17
 incompatible ReferenceType for get_ref, actual type is number
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/get_ref.cpp -o get_ref </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.1.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02959">2959</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03126">3126</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -304,7 +306,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html b/classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html
index 32ad64e..b81ff94 100644
--- a/classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html
+++ b/classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -288,7 +290,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/x6rzLLCk96NM36Tl"><b>online</b></a>): <pre class="fragment">2
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operatorarray__key_type_const.cpp -o operatorarray__key_type_const </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at(const typename object_t::key_type&amp;)</a> for access by reference with range checking </dd>
@@ -296,7 +298,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value()</a> for access by value with a default value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.1.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03521">3521</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03685">3685</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -306,7 +308,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html b/classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html
index 2550d3e..26971d0 100644
--- a/classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html
+++ b/classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,7 +282,7 @@
 <li>Has the semantics of <code>const_cast&lt;const basic_json&amp;&gt;(*this).begin()</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>cbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to the first element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::const_iterator it = array.cbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>cbegin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to the first element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::const_iterator it = array.cbegin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/yarD6DyxYlIf8Ymg"><b>online</b></a>): <pre class="fragment">1
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/cbegin.cpp -o cbegin </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin()</a> &ndash; returns an iterator to the beginning </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend()</a> &ndash; returns a const iterator to the end</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04162">4162</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04397">4397</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html b/classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html
index 0838f83..c780f86 100644
--- a/classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html
+++ b/classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,8 +281,8 @@
 <li>Has the semantics of <code>reverse_iterator(begin())</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>rend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-end</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">json::reverse_iterator</a> it = array.rend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// increment the iterator to point to the first element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a_html_a2f1f83aa187a56dc5ec7a7027065ac8a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">nlohmann::basic_json::reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::iterator &gt; reverse_iterator</div><div class="ttdoc">a reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00238">json.hpp:238</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>rend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-end</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">json::reverse_iterator</a> it = array.rend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// increment the iterator to point to the first element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a_html_a2f1f83aa187a56dc5ec7a7027065ac8a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">nlohmann::basic_json::reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::iterator &gt; reverse_iterator</div><div class="ttdoc">a reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00269">json.hpp:269</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/2QoIzXRq9ODTMxRf"><b>online</b></a>): <pre class="fragment">1
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/rend.cpp -o rend </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend()</a> &ndash; returns a const reverse iterator to the end </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin()</a> &ndash; returns a const reverse iterator to the beginning</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04300">4300</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04535">4535</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html b/classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html
index f4e530f..4aa0294 100644
--- a/classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html
+++ b/classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -278,14 +280,14 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Iterator to an element with key equivalent to <em>key</em>. If no such element is found, past-the-end (see end()) iterator is returned.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the JSON object.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>find()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call find</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> it_two = j_object.find(<span class="stringliteral">&quot;two&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> it_three = j_object.find(<span class="stringliteral">&quot;three&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\&quot;two\&quot; was found: &quot;</span> &lt;&lt; (it_two != j_object.end()) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value at key \&quot;two\&quot;: &quot;</span> &lt;&lt; *it_two &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\&quot;three\&quot; was found: &quot;</span> &lt;&lt; (it_three != j_object.end()) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>find()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call find</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> it_two = j_object.find(<span class="stringliteral">&quot;two&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> it_three = j_object.find(<span class="stringliteral">&quot;three&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\&quot;two\&quot; was found: &quot;</span> &lt;&lt; (it_two != j_object.end()) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value at key \&quot;two\&quot;: &quot;</span> &lt;&lt; *it_two &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\&quot;three\&quot; was found: &quot;</span> &lt;&lt; (it_three != j_object.end()) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/Kk6nOpsa6KetydpZ"><b>online</b></a>): <pre class="fragment">"two" was found: true
 value at key "two": 2
 "three" was found: false
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/find__key_type.cpp -o find__key_type </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04050">4050</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04287">4287</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +297,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html b/classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html
index bb8064b..165f5e8 100644
--- a/classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html
+++ b/classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -277,13 +279,13 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below demonstrates boolean values. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create boolean values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_truth = <span class="keyword">true</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_falsity = <span class="keyword">false</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// serialize the JSON booleans</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; j_truth &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j_falsity &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below demonstrates boolean values. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create boolean values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_truth = <span class="keyword">true</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_falsity = <span class="keyword">false</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// serialize the JSON booleans</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    std::cout &lt;&lt; j_truth &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    std::cout &lt;&lt; j_falsity &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/VmVl9pyrQp8LyOnU"><b>online</b></a>): <pre class="fragment">true
 false
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__boolean_t.cpp -o basic_json__boolean_t </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01246">1246</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01351">1351</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -293,7 +295,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html b/classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html
index 5d0a670..8a7e745 100644
--- a/classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html
+++ b/classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -293,7 +295,7 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>whether <em>lhs</em> is less than <em>rhs</em> </dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.0000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 &lt; array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 &lt; object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 &lt; number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 &lt; string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example demonstrates comparing several JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_1 = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array_2 = {1, 2, 4};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_1 = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> object_2 = {{<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}, {<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_1 = 17;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number_2 = 17.0000000000001L;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_1 = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> string_2 = <span class="stringliteral">&quot;bar&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; array_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; array_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (array_1 &lt; array_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; object_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; object_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (object_1 &lt; object_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; number_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; number_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (number_1 &lt; number_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; string_1 &lt;&lt; <span class="stringliteral">&quot; == &quot;</span> &lt;&lt; string_2 &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; (string_1 &lt; string_2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/JrAvlrYH03a2yfRX"><b>online</b></a>): <pre class="fragment">[1,2,3] == [1,2,4] true
 {"A":"a","B":"b"} == {"A":"a","B":"b"} false
 17 == 17.0000000000001 true
@@ -301,7 +303,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__less.cpp -o operator__less </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05470">5470</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05698">5698</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -311,7 +313,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html b/classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html
index fe5faca..861dd91 100644
--- a/classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html
+++ b/classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -274,21 +276,22 @@
 <dl class="section warning"><dt>Warning</dt><dd>Writing data to the pointee of the result yields an undefined state.</dd></dl>
 <dl class="tparams"><dt>Template Parameters</dt><dd>
   <table class="tparams">
-    <tr><td class="paramname">PointerType</td><td>pointer type; must be a pointer to <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>, <a class="el" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>, or <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>.</td></tr>
+    <tr><td class="paramname">PointerType</td><td>pointer type; must be a pointer to <a class="el" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>, <a class="el" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>, <a class="el" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>, <a class="el" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>, or <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>. Enforced by a static assertion.</td></tr>
   </table>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>pointer to the internally stored JSON value if the requested pointer type <em>PointerType</em> fits to the JSON value; <code>nullptr</code> otherwise</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a <code>nullptr</code> is returned if the value and the requested pointer type does not match. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting pointers</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> p1 = value.get_ptr&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> p2 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keyword">auto</span> p3 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> p4 = value.get_ptr&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keyword">auto</span> p5 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>*&gt;();</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// print the pointees</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; *p1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p3 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p4 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (p5 == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00539">json.hpp:539</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00679">json.hpp:679</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a <code>nullptr</code> is returned if the value and the requested pointer type does not match. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <a class="code" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a> = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting pointers</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> p1 = value.get_ptr&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> p2 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keyword">auto</span> p3 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> p4 = value.get_ptr&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keyword">auto</span> p5 = value.get_ptr&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>*&gt;();</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// print the pointees</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; *p1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p3 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p4 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (p5 == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00572">json.hpp:572</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00711">json.hpp:711</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0_html_a0a2cbbd95862a623e7dc5c37e67dead0"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">nlohmann::basic_json::value</a></div><div class="ttdeci">ValueType value(const typename object_t::key_type &amp;key, ValueType default_value) const </div><div class="ttdoc">access specified object element with default value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03751">json.hpp:3751</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/xYbUV0BmOfNtQcED"><b>online</b></a>): <pre class="fragment">17 17 17 17
 true
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/get_ptr.cpp -o get_ptr </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02908">2908</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03060">3060</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -298,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html b/classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html
index dc95aeb..6b83eb7 100644
--- a/classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html
+++ b/classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -296,13 +298,13 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>iterator pointing to the first element inserted, or <em>pos</em> if <code>ilist</code> is empty</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in <code>ilist.size()</code> plus linear in the distance between <em>pos</em> and end of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// insert range from v2 before the end of array v</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.end(), {7, 8, 9});</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// insert range from v2 before the end of array v</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.end(), {7, 8, 9});</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/kem0JnkdOVLNHii5"><b>online</b></a>): <pre class="fragment">7
 [1,2,3,4,7,8,9]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/insert__ilist.cpp -o insert__ilist </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05062">5062</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05299">5299</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -312,7 +314,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html b/classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html
index b1ef64d..a04e4ed 100644
--- a/classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html
+++ b/classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,8 +281,8 @@
 <li>Has the semantics of <code>const_cast&lt;const basic_json&amp;&gt;(*this).rend()</code>.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>crend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-end</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">json::const_reverse_iterator</a> it = array.crend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// increment the iterator to point to the first element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00_html_ae336fff01f4b78e3e16e5008dc8dbc00"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">nlohmann::basic_json::const_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::const_iterator &gt; const_reverse_iterator</div><div class="ttdoc">a const reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00240">json.hpp:240</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>crend()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get an iterator to the reverse-end</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">json::const_reverse_iterator</a> it = array.crend();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// increment the iterator to point to the first element</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    --it;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00_html_ae336fff01f4b78e3e16e5008dc8dbc00"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">nlohmann::basic_json::const_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator&lt; typename basic_json::const_iterator &gt; const_reverse_iterator</div><div class="ttdoc">a const reverse iterator for a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00271">json.hpp:271</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/Qom888gs2RM4wR4H"><b>online</b></a>): <pre class="fragment">1
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/crend.cpp -o crend </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend()</a> &ndash; returns a reverse iterator to the end </dd>
@@ -290,7 +292,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin()</a> &ndash; returns a const reverse iterator to the beginning</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04366">4366</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04601">4601</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -300,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html b/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html
index 7b9586c..61c046c 100644
--- a/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html
+++ b/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -295,7 +297,7 @@
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the length of the input. The parser is a predictive LL(1) parser.</dd></dl>
 <dl class="section note"><dt>Note</dt><dd>A UTF-8 byte order mark is silently ignored.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how a JSON value is constructed by reading a serialization from a stream. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create stream with serialized JSON</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    ss &lt;&lt; R<span class="stringliteral">&quot;({</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">        &quot;number&quot;: 23,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">        &quot;string&quot;: &quot;Hello, world!&quot;,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">        &quot;array&quot;: [1, 2, 3, 4, 5],</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">        &quot;boolean&quot;: false,</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral">        &quot;null&quot;: null</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">    })&quot;;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">    </span><span class="comment">// create JSON value and read the serialization from the stream</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j &lt;&lt; ss;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// serialize JSON</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; std::setw(2) &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how a JSON value is constructed by reading a serialization from a stream. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create stream with serialized JSON</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    std::stringstream ss;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    ss &lt;&lt; R<span class="stringliteral">&quot;({</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="stringliteral">        &quot;number&quot;: 23,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="stringliteral">        &quot;string&quot;: &quot;Hello, world!&quot;,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="stringliteral">        &quot;array&quot;: [1, 2, 3, 4, 5],</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="stringliteral">        &quot;boolean&quot;: false,</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="stringliteral">        &quot;null&quot;: null</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="stringliteral">    })&quot;;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="stringliteral"></span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="stringliteral">    </span><span class="comment">// create JSON value and read the serialization from the stream</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j &lt;&lt; ss;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// serialize JSON</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; std::setw(2) &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/yAAGR07u3IQbIgUa"><b>online</b></a>): <pre class="fragment">{
   "array": [
     1,
@@ -310,10 +312,10 @@
   "string": "Hello, world!"
 }
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator_deserialize.cpp -o operator_deserialize </pre></dd></dl>
-<dl class="section see"><dt>See also</dt><dd>parse(std::istream&amp;, parser_callback_t) for a variant with a parser callback function to filter values while parsing</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>parse(std::istream&amp;, const parser_callback_t) for a variant with a parser callback function to filter values while parsing</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05789">5789</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l06027">6027</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -323,7 +325,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html b/classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html
index 979a972..d16bd35 100644
--- a/classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html
+++ b/classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,7 +282,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> &ndash; type for an object value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00394">394</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00427">427</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -290,7 +292,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html b/classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html
index eebbcdc..361e461 100644
--- a/classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html
+++ b/classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if type is string, <code>false</code> otherwise.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this member function never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_string()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_string()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code exemplifies <code>is_string()</code> for all JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_unsigned_integer = 12345678987654321u;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// call is_string()</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_null.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_boolean.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_number_integer.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_number_unsigned_integer.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_number_float.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j_object.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j_array.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_string.is_string() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ePqrJBez1pH5dC7V"><b>online</b></a>): <pre class="fragment">false
 false
 false
@@ -284,7 +286,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/is_string.cpp -o is_string </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02415">2415</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02554">2554</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -294,7 +296,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html b/classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html
index fe2d15f..db50f5c 100644
--- a/classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html
+++ b/classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,13 +287,13 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how array elements can be read using <code>at()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {<span class="stringliteral">&quot;first&quot;</span>, <span class="stringliteral">&quot;2nd&quot;</span>, <span class="stringliteral">&quot;third&quot;</span>, <span class="stringliteral">&quot;fourth&quot;</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// output element at index 2 (third element)</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; array.at(2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// try to read beyond the array limit</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    {</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        std::cout &lt;&lt; array.at(5) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    }</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keywordflow">catch</span> (std::out_of_range)</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;out of range&quot;</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    }</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how array elements can be read using <code>at()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {<span class="stringliteral">&quot;first&quot;</span>, <span class="stringliteral">&quot;2nd&quot;</span>, <span class="stringliteral">&quot;third&quot;</span>, <span class="stringliteral">&quot;fourth&quot;</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// output element at index 2 (third element)</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; array.at(2) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// try to read beyond the array limit</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keywordflow">try</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    {</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;        std::cout &lt;&lt; array.at(5) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    }</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="keywordflow">catch</span> (std::out_of_range)</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    {</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        std::cout &lt;&lt; <span class="stringliteral">&quot;out of range&quot;</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    }</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/L1bMeiN6nYm7JrvA"><b>online</b></a>): <pre class="fragment">"third"
 out of range
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/at__size_type_const.cpp -o at__size_type_const </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03083">3083</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03250">3250</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -301,7 +303,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html b/classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html
index 960426e..d533261 100644
--- a/classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html
+++ b/classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -278,7 +280,7 @@
 <p>String values are stored as pointers in a <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> type. That is, for any access to string values, a pointer of type <code>string_t*</code> must be dereferenced.</p>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00441">441</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00474">474</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -288,7 +290,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html b/classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html
index ae0703d..2e9676d 100644
--- a/classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html
+++ b/classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -291,7 +293,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with several compatible object type parameters. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;{</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="comment">// create an object from std::map</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    std::map&lt;std::string, int&gt; c_map</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    {</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 3}</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    };</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_map(c_map);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// create an object from std::unordered_map</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::unordered_map&lt;const char*, double&gt; c_umap</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    {</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1.2}, {<span class="stringliteral">&quot;two&quot;</span>, 2.3}, {<span class="stringliteral">&quot;three&quot;</span>, 3.4}</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    };</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_umap(c_umap);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// create an object from std::multimap</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::multimap&lt;std::string, bool&gt; c_mmap</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    {</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, <span class="keyword">true</span>}, {<span class="stringliteral">&quot;two&quot;</span>, <span class="keyword">true</span>}, {<span class="stringliteral">&quot;three&quot;</span>, <span class="keyword">false</span>}, {<span class="stringliteral">&quot;three&quot;</span>, <span class="keyword">true</span>}</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    };</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_mmap(c_mmap); <span class="comment">// only one entry for key &quot;three&quot; is used</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="comment">// create an object from std::unordered_multimap</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    std::unordered_multimap&lt;std::string, bool&gt; c_ummap</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    {</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, <span class="keyword">true</span>}, {<span class="stringliteral">&quot;two&quot;</span>, <span class="keyword">true</span>}, {<span class="stringliteral">&quot;three&quot;</span>, <span class="keyword">false</span>}, {<span class="stringliteral">&quot;three&quot;</span>, <span class="keyword">true</span>}</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    };</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_ummap(c_ummap); <span class="comment">// only one entry for key &quot;three&quot; is used</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// serialize the JSON objects</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    std::cout &lt;&lt; j_map &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    std::cout &lt;&lt; j_umap &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    std::cout &lt;&lt; j_mmap &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    std::cout &lt;&lt; j_ummap &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with several compatible object type parameters. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;{</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="comment">// create an object from std::map</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    std::map&lt;std::string, int&gt; c_map</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    {</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 3}</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    };</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_map(c_map);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="comment">// create an object from std::unordered_map</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::unordered_map&lt;const char*, double&gt; c_umap</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    {</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1.2}, {<span class="stringliteral">&quot;two&quot;</span>, 2.3}, {<span class="stringliteral">&quot;three&quot;</span>, 3.4}</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    };</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_umap(c_umap);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// create an object from std::multimap</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::multimap&lt;std::string, bool&gt; c_mmap</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    {</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, <span class="keyword">true</span>}, {<span class="stringliteral">&quot;two&quot;</span>, <span class="keyword">true</span>}, {<span class="stringliteral">&quot;three&quot;</span>, <span class="keyword">false</span>}, {<span class="stringliteral">&quot;three&quot;</span>, <span class="keyword">true</span>}</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    };</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_mmap(c_mmap); <span class="comment">// only one entry for key &quot;three&quot; is used</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="comment">// create an object from std::unordered_multimap</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    std::unordered_multimap&lt;std::string, bool&gt; c_ummap</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    {</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, <span class="keyword">true</span>}, {<span class="stringliteral">&quot;two&quot;</span>, <span class="keyword">true</span>}, {<span class="stringliteral">&quot;three&quot;</span>, <span class="keyword">false</span>}, {<span class="stringliteral">&quot;three&quot;</span>, <span class="keyword">true</span>}</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    };</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_ummap(c_ummap); <span class="comment">// only one entry for key &quot;three&quot; is used</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// serialize the JSON objects</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    std::cout &lt;&lt; j_map &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    std::cout &lt;&lt; j_umap &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    std::cout &lt;&lt; j_mmap &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    std::cout &lt;&lt; j_ummap &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/JzLCMcSXNsh4uVWa"><b>online</b></a>): <pre class="fragment">{"one":1,"three":3,"two":2}
 {"one":1.2,"three":3.4,"two":2.3}
 {"one":true,"three":false,"two":true}
@@ -300,7 +302,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">basic_json(const object_t&amp;)</a> &ndash; create an object value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01077">1077</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01172">1172</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -310,7 +312,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html b/classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html
index be323e0..a79ed61 100644
--- a/classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html
+++ b/classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -283,8 +285,8 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with an <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an string_t value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">json::string_t</a> value = <span class="stringliteral">&quot;The quick brown fox jumps over the lazy doc&quot;</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON string from the value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(value);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON array</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42_html_ab63e618bbb0371042b1bec17f5891f42"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">nlohmann::basic_json::string_t</a></div><div class="ttdeci">StringType string_t</div><div class="ttdoc">a type for a string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00441">json.hpp:441</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with an <a class="el" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an string_t value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">json::string_t</a> value = <span class="stringliteral">&quot;The quick brown fox jumps over the lazy doc&quot;</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON string from the value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(value);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON array</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42_html_ab63e618bbb0371042b1bec17f5891f42"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">nlohmann::basic_json::string_t</a></div><div class="ttdeci">StringType string_t</div><div class="ttdoc">a type for a string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00474">json.hpp:474</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/cwNYP1q2mT8CFLTk"><b>online</b></a>): <pre class="fragment">"The quick brown fox jumps over the lazy doc"
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__string_t.cpp -o basic_json__string_t </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json(const typename string_t::value_type*)</a> &ndash; create a string value from a character pointer </dd>
@@ -292,7 +294,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json(const CompatibleStringType&amp;)</a> &ndash; create a string value from a compatible string container</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01173">1173</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01272">1272</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -302,7 +304,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html b/classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html
index 78518e5..10f82f2 100644
--- a/classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html
+++ b/classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <p>This function allows to access <a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html#a5d4320e24fcb7df041ff2c95d976dba0">iterator::key()</a> and <a class="el" href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f">iterator::value()</a> 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.</p>
 <dl class="section note"><dt>Note</dt><dd>The name of this function is not yet final and may change in the future. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04387">4387</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04622">4622</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -282,7 +284,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html b/classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html
index 4f5ef05..52de508 100644
--- a/classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html
+++ b/classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> &ndash; type for number values (unsigned integer)</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00539">539</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00572">572</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +297,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html b/classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html
index 082dded..87ed647 100644
--- a/classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html
+++ b/classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -280,16 +282,17 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>pointer to the internally stored JSON value if the requested pointer type <em>PointerType</em> fits to the JSON value; <code>nullptr</code> otherwise</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a <code>nullptr</code> is returned if the value and the requested pointer type does not match. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> value = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting pointers</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> p1 = value.get&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> p2 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keyword">auto</span> p3 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> p4 = value.get&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keyword">auto</span> p5 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>*&gt;();</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// print the pointees</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; *p1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p3 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p4 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (p5 == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00539">json.hpp:539</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00679">json.hpp:679</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a <code>nullptr</code> is returned if the value and the requested pointer type does not match. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON number</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <a class="code" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a> = 17;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// explicitly getting pointers</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> p1 = value.get&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> p2 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>*&gt;();</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="keyword">auto</span> p3 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> p4 = value.get&lt;<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">json::number_integer_t</a>* <span class="keyword">const</span>&gt;();</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <span class="keyword">auto</span> p5 = value.get&lt;<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">json::number_float_t</a>*&gt;();</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// print the pointees</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; *p1 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p3 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; *p4 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; (p5 == <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00572">json.hpp:572</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00711">json.hpp:711</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0_html_a0a2cbbd95862a623e7dc5c37e67dead0"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">nlohmann::basic_json::value</a></div><div class="ttdeci">ValueType value(const typename object_t::key_type &amp;key, ValueType default_value) const </div><div class="ttdoc">access specified object element with default value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03751">json.hpp:3751</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/TRkhQoCdScWQqi3x"><b>online</b></a>): <pre class="fragment">17 17 17 17
 true
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/get__PointerType.cpp -o get__PointerType </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr()</a> for explicit pointer-member access</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l02844">2844</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l02980">2980</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +302,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html b/classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html
index 0c82db0..acb70cb 100644
--- a/classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html
+++ b/classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -287,7 +289,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read and written using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// change element with key &quot;three&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;three&quot;</span>] = 3;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// mention nonexisting key</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;four&quot;</span>];</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// write to nonexisting key</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;five&quot;</span>][<span class="stringliteral">&quot;really&quot;</span>][<span class="stringliteral">&quot;nested&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output changed object</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read and written using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// change element with key &quot;three&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;three&quot;</span>] = 3;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="comment">// output changed array</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// mention nonexisting key</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;four&quot;</span>];</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// write to nonexisting key</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">object</span>[<span class="stringliteral">&quot;five&quot;</span>][<span class="stringliteral">&quot;really&quot;</span>][<span class="stringliteral">&quot;nested&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="comment">// output changed object</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; std::setw(4) &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/ujLOsxCRQE3T8cYO"><b>online</b></a>): <pre class="fragment">2
 
 {
@@ -313,7 +315,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value()</a> for access by value with a default value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.1.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03472">3472</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03636">3636</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -323,7 +325,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html b/classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html
index cfe982c..790213e 100644
--- a/classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html
+++ b/classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00213">213</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00244">244</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html b/classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html
index f4f5b17..f365080 100644
--- a/classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html
+++ b/classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,8 +287,8 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size of <em>init</em>.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for the <code>object</code> function. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON objects</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_no_init_list = <a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">json::object</a>();</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_empty_init_list = <a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">json::object</a>({});</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_list_of_pairs = <a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">json::object</a>({ {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2} });</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">//json j_invalid_list = json::object({ &quot;one&quot;, 1 }); // would throw</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON objects</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j_no_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_empty_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j_list_of_pairs &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff_html_ad25b2f8c21e241e2d63455537a9294ff"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">nlohmann::basic_json::object</a></div><div class="ttdeci">static basic_json object(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an object from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01685">json.hpp:1685</a></div></div>
-<div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for the <code>object</code> function. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON objects</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_no_init_list = <a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">json::object</a>();</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_empty_init_list = <a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">json::object</a>({});</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_list_of_pairs = <a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">json::object</a>({ {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2} });</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">//json j_invalid_list = json::object({ &quot;one&quot;, 1 }); // would throw</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON objects</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j_no_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_empty_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j_list_of_pairs &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff_html_ad25b2f8c21e241e2d63455537a9294ff"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">nlohmann::basic_json::object</a></div><div class="ttdeci">static basic_json object(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an object from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01797">json.hpp:1797</a></div></div>
+<div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/hhxRaUctq3FA54SW"><b>online</b></a>): <pre class="fragment">{}
 {}
 {"one":1,"two":2}
@@ -296,7 +298,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array(std::initializer_list&lt;basic_json&gt;)</a> &ndash; create a JSON array value from an initializer list</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01685">1685</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01797">1797</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -306,7 +308,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html b/classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html
index 44e99cb..49dbd60 100644
--- a/classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html
+++ b/classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows the construction of several integer number values from compatible types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create values of different integer types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keywordtype">short</span> n42 = 42;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <span class="keywordtype">int</span> n23 = 23;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="keywordtype">long</span> n1024 = 1024;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    int_least32_t n17 = 17;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    uint8_t n8 = 8;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// create JSON numbers</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j42(n42);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j23(n23);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j1024(n1024);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j17(n17);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j8(n8);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j42 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j23 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j1024 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j17 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j8 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows the construction of several integer number values from compatible types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create values of different integer types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keywordtype">short</span> n42 = 42;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <span class="keywordtype">int</span> n23 = 23;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="keywordtype">long</span> n1024 = 1024;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    int_least32_t n17 = 17;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    uint8_t n8 = 8;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// create JSON numbers</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j42(n42);</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j23(n23);</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j1024(n1024);</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j17(n17);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j8(n8);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    <span class="comment">// serialize the JSON numbers</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j42 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j23 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    std::cout &lt;&lt; j1024 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    std::cout &lt;&lt; j17 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j8 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/PcMzhcu2RpD7KSwr"><b>online</b></a>): <pre class="fragment">42
 23
 1024
@@ -297,7 +299,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json(const int)</a> &ndash; create a number value (integer)</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01345">1345</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01456">1456</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html b/classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html
index 9b4c812..7274dcc 100644
--- a/classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html
+++ b/classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -279,7 +281,7 @@
 <li>The complexity is constant.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>begin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to the first element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::iterator it = array.begin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows an example for <code>begin()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create an array value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// get am iterator to the first element</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    json::iterator it = array.begin();</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the element that the iterator points to</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; *it &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/0lW1WJ1ZP8g92Jp9"><b>online</b></a>): <pre class="fragment">1
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/begin.cpp -o begin </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin()</a> &ndash; returns a const iterator to the beginning </dd>
@@ -289,7 +291,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend()</a> &ndash; returns a const iterator to the end</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04122">4122</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04357">4357</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -299,7 +301,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html b/classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html
index 1145655..b24c013 100644
--- a/classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html
+++ b/classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -292,7 +294,7 @@
 <li>Has the semantics of returning <code>b.size()</code> where <code>b</code> is the largest possible JSON value.</li>
 </ul>
 </dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code calls <code>max_size()</code> on the different value types. Note the output is implementation specific. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// call max_size()</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_null.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_boolean.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_number_integer.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_number_float.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_object.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_array.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_string.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code calls <code>max_size()</code> on the different value types. Note the output is implementation specific. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// call max_size()</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_null.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_boolean.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_number_integer.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_number_float.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    std::cout &lt;&lt; j_object.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    std::cout &lt;&lt; j_array.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::cout &lt;&lt; j_string.max_size() &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/NBFk3TxTo32pKt36"><b>online</b></a>): <pre class="fragment">0
 1
 1
@@ -304,7 +306,7 @@
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size()</a> &ndash; returns the number of elements</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04573">4573</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04816">4816</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -314,7 +316,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html b/classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html
index ca75eb5..17ae349 100644
--- a/classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html
+++ b/classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -287,7 +289,7 @@
 </table>
 <dl class="section note"><dt>Note</dt><dd>Floating-point numbers are set to <code>0.0</code> which will be serialized to <code>0</code>. The vale type remains <a class="el" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size of the JSON value.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows the effect of <code>clear()</code> to different JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// call clear()</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    j_null.clear();</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    j_boolean.clear();</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j_number_integer.clear();</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    j_number_float.clear();</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    j_object.clear();</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    j_array.clear();</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    j_string.clear();</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// serialize the cleared values()</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_boolean &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; j_number_integer &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j_number_float &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    std::cout &lt;&lt; j_string &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows the effect of <code>clear()</code> to different JSON types. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_null;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_boolean = <span class="keyword">true</span>;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_integer = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_float = 23.42;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 4, 8, 16};</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_string = <span class="stringliteral">&quot;Hello, world&quot;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// call clear()</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    j_null.clear();</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    j_boolean.clear();</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    j_number_integer.clear();</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    j_number_float.clear();</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    j_object.clear();</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    j_array.clear();</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    j_string.clear();</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="comment">// serialize the cleared values()</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    std::cout &lt;&lt; j_null &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; j_boolean &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    std::cout &lt;&lt; j_number_integer &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::cout &lt;&lt; j_number_float &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    std::cout &lt;&lt; j_string &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/wwsjMZP8U6bWhUil"><b>online</b></a>): <pre class="fragment">null
 false
 0
@@ -298,7 +300,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/clear.cpp -o clear </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04632">4632</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04875">4875</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -308,7 +310,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html b/classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html
index b4ed500..21c5879 100644
--- a/classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html
+++ b/classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be read using the <code>[]</code> operator. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="keyword">const</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}, {<span class="stringliteral">&quot;three&quot;</span>, 2.9}</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// output element with key &quot;two&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span>[<span class="stringliteral">&quot;two&quot;</span>] &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/x6rzLLCk96NM36Tl"><b>online</b></a>): <pre class="fragment">2
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operatorarray__key_type_const.cpp -o operatorarray__key_type_const </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at(const typename object_t::key_type&amp;)</a> for access by reference with range checking </dd>
@@ -297,7 +299,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value()</a> for access by value with a default value</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03439">3439</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03603">3603</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html b/classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html
index 14d83f5..664135c 100644
--- a/classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html
+++ b/classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,13 +274,13 @@
 <p>Create a <code>null</code> JSON value. This is the explicitly version of the <code>null</code> value constructor as it takes a null pointer as parameter. It allows to create <code>null</code> values by explicitly assigning a <code>nullptr</code> to a JSON value. The passed null pointer itself is not read &ndash; it is only used to choose the right constructor.</p>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Exception safety</dt><dd>No-throw guarantee: this constructor never throws exceptions.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with null pointer parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON null value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// serialize the JSON null value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the constructor with null pointer parameter. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON null value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j(<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// serialize the JSON null value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/PMMpoM0ujdJDsuta"><b>online</b></a>): <pre class="fragment">null
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__nullptr_t.cpp -o basic_json__nullptr_t </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6">basic_json()</a> &ndash; default constructor (implicitly creating a <code>null</code> value)</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01019">1019</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01110">1110</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -288,7 +290,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html b/classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html
index 412f367..4a1d288 100644
--- a/classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html
+++ b/classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00240">240</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00271">271</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html b/classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html
index f16f66b..4429259 100644
--- a/classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html
+++ b/classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -289,7 +291,7 @@
 <dl class="section return"><dt>Returns</dt><dd>whether <em>v</em> is not null</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
 <dl class="section user"><dt>Example</dt><dd>The example compares several JSON types to the null pointer.</dd></dl>
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (array != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">object</span> != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; number &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (number != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">string</span> != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (null != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create several JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> array = {1, 2, 3};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">object</span> = {{<span class="stringliteral">&quot;A&quot;</span>, <span class="stringliteral">&quot;a&quot;</span>}, {<span class="stringliteral">&quot;B&quot;</span>, <span class="stringliteral">&quot;b&quot;</span>}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> number = 17;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> <span class="keywordtype">string</span> = <span class="stringliteral">&quot;foo&quot;</span>;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> null;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output values and comparisons</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; array &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (array != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">object</span> &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">object</span> != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; number &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (number != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; <span class="keywordtype">string</span> &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (<span class="keywordtype">string</span> != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; null &lt;&lt; <span class="stringliteral">&quot; != nullptr &quot;</span> &lt;&lt; (null != <span class="keyword">nullptr</span>) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --><p> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/Lo7eftLny4Io5rgV"><b>online</b></a>): </p><pre class="fragment">[1,2,3] != nullptr true
 {"A":"a","B":"b"} != nullptr true
 17 != nullptr true
@@ -297,7 +299,7 @@
 null != nullptr false
 </pre><p> The example code above can be translated with</p><pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__notequal__nullptr_t.cpp -o operator__notequal__nullptr_t </pre><dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05432">5432</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05660">5660</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -307,7 +309,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html b/classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html
index 83d3fb7..4a7a70a 100644
--- a/classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html
+++ b/classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -291,7 +293,7 @@
   </table>
   </dd>
 </dl>
-<dl class="section user"><dt>Example</dt><dd>The following code shows the construction of a string value from a compatible type. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a string value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    std::string s = <span class="stringliteral">&quot;The quick brown fox jumps over the lazy dog.&quot;</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON string value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j = s;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON string</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The following code shows the construction of a string value from a compatible type. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a string value</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    std::string s = <span class="stringliteral">&quot;The quick brown fox jumps over the lazy dog.&quot;</span>;</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON string value</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j = s;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// serialize the JSON string</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    std::cout &lt;&lt; j &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/b9hbCY8zfOiTOuoK"><b>online</b></a>): <pre class="fragment">"The quick brown fox jumps over the lazy dog."
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__CompatibleStringType.cpp -o basic_json__CompatibleStringType </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json(const string_t&amp;)</a> &ndash; create a string value </dd>
@@ -299,7 +301,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json(const typename string_t::value_type*)</a> &ndash; create a string value from a character pointer</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01228">1228</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01331">1331</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -309,7 +311,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html b/classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html
index 4d47d91..860b80b 100644
--- a/classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html
+++ b/classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -266,7 +268,11 @@
 </table>
 </div><div class="memdoc">
 <p>This enumeration lists the parser events that can trigger calling a callback function of type <a class="el" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> during parsing.</p>
-<dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
+<div class="image">
+<img src="callback_events.png" alt="callback_events.png"/>
+<div class="caption">
+Example when certain parse events are triggered</div></div>
+ <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 <table class="fieldtable">
 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aea1c863b719b4ca5b77188c171bbfafeae73f17027cb0acbb537f29d0a6944b26"></a>object_start&#160;</td><td class="fielddoc">
 <p>the parser read <code>{</code> and started to process a JSON object </p>
@@ -288,7 +294,7 @@
 </td></tr>
 </table>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00853">853</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00932">932</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -298,7 +304,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html b/classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html
index 0b17df8..46e55a8 100644
--- a/classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html
+++ b/classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -306,13 +308,13 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>iterator pointing to the first element inserted, or <em>pos</em> if <code>first==last</code></dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in <code>std::distance(first, last)</code> plus linear in the distance between <em>pos</em> and end of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON array to copy values from</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v2 = {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;three&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// insert range from v2 before the end of array v</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.end(), v2.begin(), v2.end());</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>insert()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON array</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v = {1, 2, 3, 4};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// create a JSON array to copy values from</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> v2 = {<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;three&quot;</span>, <span class="stringliteral">&quot;four&quot;</span>};</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <span class="comment">// insert range from v2 before the end of array v</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="keyword">auto</span> new_pos = v.insert(v.end(), v2.begin(), v2.end());</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    <span class="comment">// output new array and result of insert call</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; *new_pos &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; v &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/rub1CDmN5dKK1LJW"><b>online</b></a>): <pre class="fragment">"one"
 [1,2,3,4,"one","two","three","four"]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/insert__range.cpp -o insert__range </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05003">5003</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05241">5241</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -322,7 +324,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html b/classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html
index 30b3816..edb613f 100644
--- a/classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html
+++ b/classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00221">221</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00252">252</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html b/classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html
index f3e103e..a6d1526 100644
--- a/classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html
+++ b/classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -285,7 +287,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size of the JSON value.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers, (2) A JSON array can be converted to a standard <code>std::vector&lt;short&gt;</code>, (3) A JSON object can be converted to C++ associative containers such as <code>std::unordered_map&lt;std::string, json&gt;</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;{</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="comment">// create a JSON value with different types</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> json_types =</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    {</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;            <span class="stringliteral">&quot;number&quot;</span>, {</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;                {<span class="stringliteral">&quot;integer&quot;</span>, 42},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;                {<span class="stringliteral">&quot;floating-point&quot;</span>, 17.23}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;            }</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;        },</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;Hello, world!&quot;</span>},</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3, 4, 5}},</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        {<span class="stringliteral">&quot;null&quot;</span>, <span class="keyword">nullptr</span>}</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    };</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="comment">// use implicit conversions</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordtype">bool</span> v1 = json_types[<span class="stringliteral">&quot;boolean&quot;</span>];</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="keywordtype">int</span> v2 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;integer&quot;</span>];</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">short</span> v3 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;integer&quot;</span>];</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keywordtype">float</span> v4 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;floating-point&quot;</span>];</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keywordtype">int</span> v5 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;floating-point&quot;</span>];</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::string v6 = json_types[<span class="stringliteral">&quot;string&quot;</span>];</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    std::vector&lt;short&gt; v7 = json_types[<span class="stringliteral">&quot;array&quot;</span>];</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    std::unordered_map&lt;std::string, json&gt; v8 = json_types;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="comment">// print the conversion results</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    std::cout &lt;&lt; v1 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    std::cout &lt;&lt; v2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; v3 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    std::cout &lt;&lt; v4 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; v5 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    std::cout &lt;&lt; v6 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i : v7)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        std::cout &lt;&lt; i &lt;&lt; <span class="charliteral">&#39; &#39;</span>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    }</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i : v8)</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    {</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        std::cout &lt;&lt; i.first &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; i.second &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    }</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers, (2) A JSON array can be converted to a standard <code>std::vector&lt;short&gt;</code>, (3) A JSON object can be converted to C++ associative containers such as <code>std::unordered_map&lt;std::string, json&gt;</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#include &lt;unordered_map&gt;</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;{</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <span class="comment">// create a JSON value with different types</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> json_types =</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    {</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;            <span class="stringliteral">&quot;number&quot;</span>, {</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;                {<span class="stringliteral">&quot;integer&quot;</span>, 42},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;                {<span class="stringliteral">&quot;floating-point&quot;</span>, 17.23}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;            }</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;        },</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;Hello, world!&quot;</span>},</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3, 4, 5}},</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        {<span class="stringliteral">&quot;null&quot;</span>, <span class="keyword">nullptr</span>}</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    };</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    <span class="comment">// use implicit conversions</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordtype">bool</span> v1 = json_types[<span class="stringliteral">&quot;boolean&quot;</span>];</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    <span class="keywordtype">int</span> v2 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;integer&quot;</span>];</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="keywordtype">short</span> v3 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;integer&quot;</span>];</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    <span class="keywordtype">float</span> v4 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;floating-point&quot;</span>];</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <span class="keywordtype">int</span> v5 = json_types[<span class="stringliteral">&quot;number&quot;</span>][<span class="stringliteral">&quot;floating-point&quot;</span>];</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    std::string v6 = json_types[<span class="stringliteral">&quot;string&quot;</span>];</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    std::vector&lt;short&gt; v7 = json_types[<span class="stringliteral">&quot;array&quot;</span>];</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    std::unordered_map&lt;std::string, json&gt; v8 = json_types;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="comment">// print the conversion results</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    std::cout &lt;&lt; v1 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    std::cout &lt;&lt; v2 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; v3 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    std::cout &lt;&lt; v4 &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; v5 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    std::cout &lt;&lt; v6 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i : v7)</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    {</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        std::cout &lt;&lt; i &lt;&lt; <span class="charliteral">&#39; &#39;</span>;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    }</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\n\n&quot;</span>;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i : v8)</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    {</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;        std::cout &lt;&lt; i.first &lt;&lt; <span class="stringliteral">&quot;: &quot;</span> &lt;&lt; i.second &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    }</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/rUGX6AaVuZfwiiYI"><b>online</b></a>): <pre class="fragment">1
 42 42
 17.23 17
@@ -300,7 +302,7 @@
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/operator__ValueType.cpp -o operator__ValueType </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03001">3001</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03168">3168</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -310,7 +312,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html b/classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html
index 9940311..5a3a671 100644
--- a/classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html
+++ b/classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -305,7 +307,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the container.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be queried with a default value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object with different entry types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;integer&quot;</span>, 1},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;floating&quot;</span>, 42.23},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;hello world&quot;</span>},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {<span class="stringliteral">&quot;object&quot;</span>, {{<span class="stringliteral">&quot;key1&quot;</span>, 1}, {<span class="stringliteral">&quot;key2&quot;</span>, 2}}},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3}}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    };</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// access existing values</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordtype">int</span> v_integer = j.value(<span class="stringliteral">&quot;integer&quot;</span>, 0);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordtype">double</span> v_floating = j.value(<span class="stringliteral">&quot;floating&quot;</span>, 47.11);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// access nonexisting values and rely on default value</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::string v_string = j.value(<span class="stringliteral">&quot;nonexisting&quot;</span>, <span class="stringliteral">&quot;oops&quot;</span>);</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordtype">bool</span> v_boolean = j.value(<span class="stringliteral">&quot;nonexisting&quot;</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// output values</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; v_integer &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_floating</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_string &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_boolean &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how object elements can be queried with a default value. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object with different entry types</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j =</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    {</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;        {<span class="stringliteral">&quot;integer&quot;</span>, 1},</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;        {<span class="stringliteral">&quot;floating&quot;</span>, 42.23},</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;        {<span class="stringliteral">&quot;string&quot;</span>, <span class="stringliteral">&quot;hello world&quot;</span>},</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;        {<span class="stringliteral">&quot;boolean&quot;</span>, <span class="keyword">true</span>},</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;        {<span class="stringliteral">&quot;object&quot;</span>, {{<span class="stringliteral">&quot;key1&quot;</span>, 1}, {<span class="stringliteral">&quot;key2&quot;</span>, 2}}},</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;        {<span class="stringliteral">&quot;array&quot;</span>, {1, 2, 3}}</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    };</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <span class="comment">// access existing values</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    <span class="keywordtype">int</span> v_integer = j.value(<span class="stringliteral">&quot;integer&quot;</span>, 0);</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    <span class="keywordtype">double</span> v_floating = j.value(<span class="stringliteral">&quot;floating&quot;</span>, 47.11);</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    <span class="comment">// access nonexisting values and rely on default value</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    std::string v_string = j.value(<span class="stringliteral">&quot;nonexisting&quot;</span>, <span class="stringliteral">&quot;oops&quot;</span>);</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordtype">bool</span> v_boolean = j.value(<span class="stringliteral">&quot;nonexisting&quot;</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    <span class="comment">// output values</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    std::cout &lt;&lt; std::boolalpha &lt;&lt; v_integer &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_floating</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;              &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_string &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; v_boolean &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/qdV5W2Lrljmjv4LG"><b>online</b></a>): <pre class="fragment">1 42.23 oops false
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__value.cpp -o basic_json__value </pre></dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at(const typename object_t::key_type&amp;)</a> for access by reference with range checking </dd>
@@ -313,7 +315,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[](const typename object_t::key_type&amp;)</a> for unchecked access by reference</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l03614">3614</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l03777">3777</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -323,7 +325,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html b/classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html
index a9268dc..90a64b2 100644
--- a/classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html
+++ b/classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -272,7 +274,7 @@
 <p>This function allows to access <a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html#a5d4320e24fcb7df041ff2c95d976dba0">iterator::key()</a> and <a class="el" href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f">iterator::value()</a> 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.</p>
 <dl class="section note"><dt>Note</dt><dd>The name of this function is not yet final and may change in the future. </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04395">4395</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04630">4630</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -282,7 +284,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html b/classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html
index 702dd3a..a6d7e4d 100644
--- a/classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html
+++ b/classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -265,7 +267,7 @@
 <p>Boolean values are stored directly inside a <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> type.</p>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00467">467</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00500">500</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -275,7 +277,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html b/classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html
index b3ddd7c..f4155e5 100644
--- a/classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html
+++ b/classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -258,7 +260,7 @@
       </table>
 </div><div class="memdoc">
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l00218">218</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l00249">249</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -268,7 +270,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html b/classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html
index 8694754..35573a1 100644
--- a/classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html
+++ b/classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -277,13 +279,13 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Constant.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how JSON values can be swapped with <code>swap()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create two JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j1 = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j2 = {{<span class="stringliteral">&quot;pi&quot;</span>, 3.141592653589793}, {<span class="stringliteral">&quot;e&quot;</span>, 2.718281828459045}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// swap the values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    j1.swap(j2);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output the values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;j1 = &quot;</span> &lt;&lt; j1 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;j2 = &quot;</span> &lt;&lt; j2 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how JSON values can be swapped with <code>swap()</code>. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create two JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j1 = {1, 2, 3, 4, 5};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j2 = {{<span class="stringliteral">&quot;pi&quot;</span>, 3.141592653589793}, {<span class="stringliteral">&quot;e&quot;</span>, 2.718281828459045}};</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="comment">// swap the values</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    j1.swap(j2);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// output the values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;j1 = &quot;</span> &lt;&lt; j1 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;j2 = &quot;</span> &lt;&lt; j2 &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/gYuvmciucjS8NYY0"><b>online</b></a>): <pre class="fragment">j1 = {"e":2.71828182845905,"pi":3.14159265358979}
 j2 = [1,2,3,4,5]
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/swap__reference.cpp -o swap__reference </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l05100">5100</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l05336">5336</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -293,7 +295,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html b/classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html
index 3a02aa1..ead87b7 100644
--- a/classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html
+++ b/classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -299,6 +301,7 @@
   </table>
   </dd>
 </dl>
+<dl class="section pre"><dt>Precondition</dt><dd>Iterators <em>first</em> and <em>last</em> must be initialized.</dd></dl>
 <dl class="exception"><dt>Exceptions</dt><dd>
   <table class="exception">
     <tr><td class="paramname">std::domain_error</td><td>if iterators are not compatible; that is, do not belong to the same JSON value; example: <code>"iterators are not compatible"</code> </td></tr>
@@ -310,14 +313,14 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in distance between <em>first</em> and <em>last</em>.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows several ways to create JSON values by specifying a subrange with iterators. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {<span class="stringliteral">&quot;alpha&quot;</span>, <span class="stringliteral">&quot;bravo&quot;</span>, <span class="stringliteral">&quot;charly&quot;</span>, <span class="stringliteral">&quot;delta&quot;</span>, <span class="stringliteral">&quot;easy&quot;</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number = 42;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;eins&quot;</span>}, {<span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;zwei&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// create copies using iterators</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_range(j_array.begin() + 1, j_array.end() - 2);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_range(j_number.begin(), j_number.end());</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_range(j_object.begin(), j_object.find(<span class="stringliteral">&quot;two&quot;</span>));</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// serialize the values</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_array_range &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_number_range &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_object_range &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows several ways to create JSON values by specifying a subrange with iterators. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {<span class="stringliteral">&quot;alpha&quot;</span>, <span class="stringliteral">&quot;bravo&quot;</span>, <span class="stringliteral">&quot;charly&quot;</span>, <span class="stringliteral">&quot;delta&quot;</span>, <span class="stringliteral">&quot;easy&quot;</span>};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number = 42;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, <span class="stringliteral">&quot;eins&quot;</span>}, {<span class="stringliteral">&quot;two&quot;</span>, <span class="stringliteral">&quot;zwei&quot;</span>}};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="comment">// create copies using iterators</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array_range(j_array.begin() + 1, j_array.end() - 2);</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_number_range(j_number.begin(), j_number.end());</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object_range(j_object.begin(), j_object.find(<span class="stringliteral">&quot;two&quot;</span>));</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// serialize the values</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_array_range &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_number_range &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;    std::cout &lt;&lt; j_object_range &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/nKF1QcieoCHm6Lez"><b>online</b></a>): <pre class="fragment">["bravo","charly"]
 42
 {"one":"eins"}
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/basic_json__InputIt_InputIt.cpp -o basic_json__InputIt_InputIt </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01755">1755</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01870">1870</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -327,7 +330,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html b/classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html
index 6b0b8e6..c63e0db 100644
--- a/classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html
+++ b/classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindexHL" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -319,7 +321,7 @@
   </dd>
 </dl>
 <dl class="section user"><dt>Complexity</dt><dd>Linear in the size of the initializer list <em>init</em>.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example below shows how JSON values are created from initializer lists. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_empty_init_list = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>({});</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = { {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2} };</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 3, 4};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nested_object = { {<span class="stringliteral">&quot;one&quot;</span>, {1}}, {<span class="stringliteral">&quot;two&quot;</span>, {1, 2}} };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nested_array = { {{1}, <span class="stringliteral">&quot;one&quot;</span>}, {{1, 2}, <span class="stringliteral">&quot;two&quot;</span>} };</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// serialize the JSON value</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_empty_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_nested_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_nested_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example below shows how JSON values are created from initializer lists. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create JSON values</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_empty_init_list = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a>({});</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = { {<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2} };</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_array = {1, 2, 3, 4};</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nested_object = { {<span class="stringliteral">&quot;one&quot;</span>, {1}}, {<span class="stringliteral">&quot;two&quot;</span>, {1, 2}} };</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_nested_array = { {{1}, <span class="stringliteral">&quot;one&quot;</span>}, {{1, 2}, <span class="stringliteral">&quot;two&quot;</span>} };</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// serialize the JSON value</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; j_empty_init_list &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; j_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; j_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; j_nested_object &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;    std::cout &lt;&lt; j_nested_array &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/iZzzxEpB7tbhz0cx"><b>online</b></a>): <pre class="fragment">{}
 {"one":1,"two":2}
 [1,2,3,4]
@@ -331,7 +333,7 @@
 <a class="el" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object(std::initializer_list&lt;basic_json&gt;)</a> &ndash; create a JSON object value from an initializer list</dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l01553">1553</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l01674">1674</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -341,7 +343,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html b/classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html
index 1d01921..0222c3e 100644
--- a/classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html
+++ b/classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a></td></tr>
@@ -211,9 +211,9 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87">operator[]</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a">operator[]</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a></td></tr>
-          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">patch</a></td></tr>
@@ -239,6 +239,8 @@
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776">unflatten</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a></td></tr>
+          <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">value_type</a></td></tr>
           <tr><td class="navtab"><a class="qindex" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a></td></tr>
@@ -278,14 +280,14 @@
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Iterator to an element with key equivalent to <em>key</em>. If no such element is found, past-the-end (see end()) iterator is returned.</dd></dl>
 <dl class="section user"><dt>Complexity</dt><dd>Logarithmic in the size of the JSON object.</dd></dl>
-<dl class="section user"><dt>Example</dt><dd>The example shows how <code>find()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call find</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> it_two = j_object.find(<span class="stringliteral">&quot;two&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> it_three = j_object.find(<span class="stringliteral">&quot;three&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\&quot;two\&quot; was found: &quot;</span> &lt;&lt; (it_two != j_object.end()) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value at key \&quot;two\&quot;: &quot;</span> &lt;&lt; *it_two &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\&quot;three\&quot; was found: &quot;</span> &lt;&lt; (it_three != j_object.end()) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09964">json.hpp:9964</a></div></div>
+<dl class="section user"><dt>Example</dt><dd>The example shows how <code>find()</code> is used. <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#include &lt;json.hpp&gt;</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> = <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a>;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="keywordtype">int</span> main()</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;{</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;    <span class="comment">// create a JSON object</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;    <a class="code" href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">json</a> j_object = {{<span class="stringliteral">&quot;one&quot;</span>, 1}, {<span class="stringliteral">&quot;two&quot;</span>, 2}};</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    <span class="comment">// call find</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    <span class="keyword">auto</span> it_two = j_object.find(<span class="stringliteral">&quot;two&quot;</span>);</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    <span class="keyword">auto</span> it_three = j_object.find(<span class="stringliteral">&quot;three&quot;</span>);</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;    <span class="comment">// print values</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;    std::cout &lt;&lt; std::boolalpha;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\&quot;two\&quot; was found: &quot;</span> &lt;&lt; (it_two != j_object.end()) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;value at key \&quot;two\&quot;: &quot;</span> &lt;&lt; *it_two &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    std::cout &lt;&lt; <span class="stringliteral">&quot;\&quot;three\&quot; was found: &quot;</span> &lt;&lt; (it_three != j_object.end()) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474_html_a2bfd99e845a2e5cd90aeaf1b1431f474"><div class="ttname"><a href="namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html#a2bfd99e845a2e5cd90aeaf1b1431f474">nlohmann::json</a></div><div class="ttdeci">basic_json&lt;&gt; json</div><div class="ttdoc">default JSON class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l10356">json.hpp:10356</a></div></div>
 </div><!-- fragment --> Output (play with this example <a target="_blank" href="http://melpon.org/wandbox/permlink/Kk6nOpsa6KetydpZ"><b>online</b></a>): <pre class="fragment">"two" was found: true
 value at key "two": 2
 "three" was found: false
 </pre> The example code above can be translated with<pre class="fragment">g++ -std=c++11 -Isrc doc/examples/find__key_type.cpp -o find__key_type </pre></dd></dl>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l04033">4033</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l04271">4271</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -295,7 +297,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html
index 081c31d..2c2ff69 100644
--- a/dir_68267d1309a1af8e8297ef4c3efbcdba.html
+++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -92,7 +92,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions.html b/functions.html
index 5ad4c76..52ad327 100644
--- a/functions.html
+++ b/functions.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -135,7 +135,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_0x7e.html b/functions_0x7e.html
index ad5dd0e..e373380 100644
--- a/functions_0x7e.html
+++ b/functions_0x7e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -126,7 +126,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_b.html b/functions_b.html
index 3491b21..5ffae0c 100644
--- a/functions_b.html
+++ b/functions_b.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -141,7 +141,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_c.html b/functions_c.html
index eafdb43..e811ab6 100644
--- a/functions_c.html
+++ b/functions_c.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -153,7 +153,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_d.html b/functions_d.html
index b780c81..23da2cd 100644
--- a/functions_d.html
+++ b/functions_d.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -133,7 +133,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_e.html b/functions_e.html
index 0809a8f..0a8a06b 100644
--- a/functions_e.html
+++ b/functions_e.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_enum.html b/functions_enum.html
index 51d6ddb..cd7bf28 100644
--- a/functions_enum.html
+++ b/functions_enum.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -103,7 +103,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:09 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_f.html b/functions_f.html
index 0ea6436..b3c8f30 100644
--- a/functions_f.html
+++ b/functions_f.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_func.html b/functions_func.html
index fc9583a..3384cfd 100644
--- a/functions_func.html
+++ b/functions_func.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -379,7 +379,7 @@
 
 <h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
 <li>parse()
-: <a class="el" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">nlohmann::basic_json</a>
+: <a class="el" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">nlohmann::basic_json</a>
 </li>
 <li>patch()
 : <a class="el" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d">nlohmann::basic_json</a>
@@ -432,7 +432,7 @@
 : <a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd">nlohmann::basic_json::const_iterator</a>
 , <a class="el" href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f">nlohmann::basic_json::iterator</a>
 , <a class="el" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b">nlohmann::basic_json::json_reverse_iterator&lt; Base &gt;</a>
-, <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">nlohmann::basic_json</a>
+, <a class="el" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">nlohmann::basic_json</a>
 </li>
 </ul>
 
@@ -445,7 +445,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:09 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_g.html b/functions_g.html
index 90f35bc..118b6cf 100644
--- a/functions_g.html
+++ b/functions_g.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -135,7 +135,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_i.html b/functions_i.html
index 375074f..c5b781a 100644
--- a/functions_i.html
+++ b/functions_i.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -171,7 +171,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_j.html b/functions_j.html
index 4aa608a..87caf41 100644
--- a/functions_j.html
+++ b/functions_j.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_k.html b/functions_k.html
index ef1b150..d065194 100644
--- a/functions_k.html
+++ b/functions_k.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -127,7 +127,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_m.html b/functions_m.html
index f00754c..82119aa 100644
--- a/functions_m.html
+++ b/functions_m.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -126,7 +126,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_n.html b/functions_n.html
index 74f0640..d94bc4e 100644
--- a/functions_n.html
+++ b/functions_n.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -132,7 +132,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_o.html b/functions_o.html
index 689058e..00aad5b 100644
--- a/functions_o.html
+++ b/functions_o.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -220,7 +220,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_p.html b/functions_p.html
index a2fc6e5..b764a34 100644
--- a/functions_p.html
+++ b/functions_p.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -120,7 +120,7 @@
 
 <h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
 <li>parse()
-: <a class="el" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">nlohmann::basic_json</a>
+: <a class="el" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">nlohmann::basic_json</a>
 </li>
 <li>parse_event_t
 : <a class="el" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">nlohmann::basic_json</a>
@@ -143,7 +143,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_r.html b/functions_r.html
index 792b5d9..b3a1863 100644
--- a/functions_r.html
+++ b/functions_r.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -138,7 +138,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_rela.html b/functions_rela.html
index c26713c..f386102 100644
--- a/functions_rela.html
+++ b/functions_rela.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -125,7 +125,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:09 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_s.html b/functions_s.html
index 6e828d3..9d3dfd1 100644
--- a/functions_s.html
+++ b/functions_s.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -135,7 +135,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_t.html b/functions_t.html
index 4a855a7..b19efe6 100644
--- a/functions_t.html
+++ b/functions_t.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -129,7 +129,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_type.html b/functions_type.html
index ff03cee..1d83a78 100644
--- a/functions_type.html
+++ b/functions_type.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -165,7 +165,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:09 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_u.html b/functions_u.html
index a0dc18b..36c75a5 100644
--- a/functions_u.html
+++ b/functions_u.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -126,7 +126,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/functions_v.html b/functions_v.html
index cebd148..ec51475 100644
--- a/functions_v.html
+++ b/functions_v.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -123,7 +123,7 @@
 : <a class="el" href="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd">nlohmann::basic_json::const_iterator</a>
 , <a class="el" href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f">nlohmann::basic_json::iterator</a>
 , <a class="el" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b">nlohmann::basic_json::json_reverse_iterator&lt; Base &gt;</a>
-, <a class="el" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">nlohmann::basic_json</a>
+, <a class="el" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">nlohmann::basic_json</a>
 </li>
 <li>value_t
 : <a class="el" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">nlohmann::basic_json</a>
@@ -136,7 +136,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/graph_legend.html b/graph_legend.html
index 4d17fcb..7dbe1c4 100644
--- a/graph_legend.html
+++ b/graph_legend.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -108,7 +108,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/hierarchy.html b/hierarchy.html
index 88a9a73..7fed221 100644
--- a/hierarchy.html
+++ b/hierarchy.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -102,7 +102,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/index.html b/index.html
index e11864b..a45a0b2 100644
--- a/index.html
+++ b/index.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -175,11 +175,11 @@
 <dl class="section copyright"><dt>Copyright</dt><dd>Copyright &copy; 2013-2016 Niels Lohmann. The code is licensed under the <a href="http://opensource.org/licenses/MIT">MIT License</a>.</dd></dl>
 <dl class="section author"><dt>Author</dt><dd><a href="http://nlohmann.me">Niels Lohmann</a> </dd></dl>
 <dl class="section see"><dt>See also</dt><dd><a href="https://github.com/nlohmann/json">https://github.com/nlohmann/json</a> to download the source code</dd></dl>
-<dl class="section version"><dt>Version</dt><dd>2.0.1 </dd></dl>
+<dl class="section version"><dt>Version</dt><dd>2.0.2 </dd></dl>
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/index_8md_source.html b/index_8md_source.html
index bf4832b..6415801 100644
--- a/index_8md_source.html
+++ b/index_8md_source.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -79,10 +79,10 @@
 <div class="title">index.md</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;# JSON for Modern C++</div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;These pages contain the API documentation of JSON for Modern C++, a C++11 header-only JSON class.</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;# Contents</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;- @link nlohmann::basic_json `basic_json` class @endlink</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;- [Functions](functions_func.html)</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  - object inspection</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    - @link nlohmann::basic_json::dump dump @endlink -- value serialization</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    - @link nlohmann::basic_json::type type @endlink -- type of the value</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    - @link nlohmann::basic_json::is_primitive is_primitive @endlink,</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;      @link nlohmann::basic_json::is_structured is_structured @endlink,</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;      @link nlohmann::basic_json::is_null is_null @endlink,</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;      @link nlohmann::basic_json::is_boolean is_boolean @endlink,</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;      @link nlohmann::basic_json::is_number is_number @endlink,</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;      @link nlohmann::basic_json::is_number_integer is_number_integer @endlink,</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;      @link nlohmann::basic_json::is_number_unsigned is_number_unsigned @endlink,</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;      @link nlohmann::basic_json::is_number_float is_number_float @endlink,</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;      @link nlohmann::basic_json::is_object is_object @endlink,</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;      @link nlohmann::basic_json::is_array is_array @endlink,</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;      @link nlohmann::basic_json::is_string is_string @endlink,</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;      @link nlohmann::basic_json::is_discarded is_discarded @endlink -- check for value type</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    - @link nlohmann::basic_json::operator value_t() const operator value_t @endlink -- type of the value (implicit conversion)</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;  - value access</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    - @link nlohmann::basic_json::get get @endlink -- get a value</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    - @link nlohmann::basic_json::get_ptr get_ptr @endlink -- get a value pointer</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    - @link nlohmann::basic_json::get_ref get_ref @endlink -- get a value reference</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    - @link nlohmann::basic_json::operator ValueType() const operator ValueType @endlink -- get a value (implicit conversion)</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;  - lexicographical comparison operators</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;  - serialization</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  - deserialization</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;- Types</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;  - @link nlohmann::basic_json::array_t arrays @endlink</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;  - @link nlohmann::basic_json::object_t objects @endlink</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;  - @link nlohmann::basic_json::string_t strings @endlink</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  - @link nlohmann::basic_json::boolean_t booleans @endlink</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  - numbers</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    - @link nlohmann::basic_json::number_integer_t signed integers @endlink</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    - @link nlohmann::basic_json::number_unsigned_t unsigned integers @endlink</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    - @link nlohmann::basic_json::number_float_t floating-point @endlink</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;# Container function overview</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;The container functions known from STL have been extended to support the different value types from JSON. However, not all functions can be applied to all value types. Note that the signature of some functions differ between the types; for instance, `at` may be called with either a string to address a key in an object or with an integer to address a value in an array.</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;&lt;table&gt;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    &lt;th rowspan=&quot;2&quot;&gt;group&lt;/td&gt;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    &lt;th rowspan=&quot;2&quot;&gt;function&lt;/td&gt;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    &lt;th colspan=&quot;6&quot;&gt;JSON value type&lt;/th&gt;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    &lt;th&gt;object&lt;/th&gt;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    &lt;th&gt;array&lt;/th&gt;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    &lt;th&gt;string&lt;/th&gt;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    &lt;th&gt;number&lt;/th&gt;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    &lt;th&gt;boolean&lt;/th&gt;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    &lt;th&gt;null&lt;/th&gt;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    &lt;td rowspan=&quot;8&quot;&gt;iterators&lt;/td&gt;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    &lt;td&gt;`begin`&lt;/td&gt;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    &lt;td&gt;`cbegin`&lt;/td&gt;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink (returns `cend()`)&lt;/td&gt;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    &lt;td&gt;`end`&lt;/td&gt;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    &lt;td&gt;`cend`&lt;/td&gt;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    &lt;td&gt;`rbegin`&lt;/td&gt;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    &lt;td&gt;`crbegin`&lt;/td&gt;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    &lt;td&gt;`rend`&lt;/td&gt;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    &lt;td&gt;`crend`&lt;/td&gt;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    &lt;td rowspan=&quot;4&quot;&gt;element&lt;br&gt;access&lt;/td&gt;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    &lt;td&gt;`at`&lt;/td&gt;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::at(const typename object_t::key_type &amp; key) `at` @endlink&lt;/td&gt;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::at(size_type) `at` @endlink&lt;/td&gt;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    &lt;td&gt;`operator[]`&lt;/td&gt;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::operator[](const typename object_t::key_type &amp;key) `operator[]` @endlink&lt;/td&gt;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::operator[](size_type) `operator[]` @endlink&lt;/td&gt;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::operator[](const typename object_t::key_type &amp; key) `operator[]` @endlink (creates object)&lt;br&gt;@link nlohmann::basic_json::operator[](size_type) `operator[]` @endlink (creates array)&lt;/td&gt;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    &lt;td&gt;`front`&lt;/td&gt;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::out_of_range`&lt;/td&gt;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    &lt;td&gt;`back`&lt;/td&gt;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::out_of_range`&lt;/td&gt;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    &lt;td rowspan=&quot;3&quot;&gt;capacity&lt;/td&gt;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    &lt;td&gt;`empty`&lt;/td&gt;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink&lt;/td&gt;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink&lt;/td&gt;</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink (returns `false`)&lt;/td&gt;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink (returns `false`)&lt;/td&gt;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink (returns `false`)&lt;/td&gt;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink (returns `true`)&lt;/td&gt;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    &lt;td&gt;`size`&lt;/td&gt;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink&lt;/td&gt;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink&lt;/td&gt;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    &lt;td&gt;`max_size_`&lt;/td&gt;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink&lt;/td&gt;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink&lt;/td&gt;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    &lt;td rowspan=&quot;5&quot;&gt;modifiers&lt;/td&gt;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    &lt;td&gt;`clear`&lt;/td&gt;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    &lt;td&gt;`insert`&lt;/td&gt;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::insert `insert` @endlink&lt;/td&gt;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    &lt;td&gt;`erase`&lt;/td&gt;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink&lt;/td&gt;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink&lt;/td&gt;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink (converts to null)&lt;/td&gt;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink (converts to null)&lt;/td&gt;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink (converts to null)&lt;/td&gt;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws&lt;/td&gt;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    &lt;td&gt;`push_back`&lt;/td&gt;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::push_back(const typename object_t::value_type &amp; val) `push_back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::push_back(const nlohmann::basic_json &amp;) `push_back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::push_back(const typename object_t::value_type &amp; val) `push_back` @endlink (creates object)&lt;br&gt;@link nlohmann::basic_json::push_back(const nlohmann::basic_json &amp;) `push_back` @endlink (creates array)&lt;/td&gt;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    &lt;td&gt;`swap`&lt;/td&gt;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    &lt;td rowspan=&quot;2&quot;&gt;lookup&lt;/td&gt;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    &lt;td&gt;`find`&lt;/td&gt;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink&lt;/td&gt;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    &lt;td&gt;`count`&lt;/td&gt;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink&lt;/td&gt;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;&lt;/table&gt;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;@copyright Copyright &amp;copy; 2013-2016 Niels Lohmann. The code is licensed under the [MIT License](http://opensource.org/licenses/MIT).</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;@author [Niels Lohmann](http://nlohmann.me)</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;@see https://github.com/nlohmann/json to download the source code</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;@version 2.0.1</div></div><!-- fragment --></div><!-- contents -->
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;# JSON for Modern C++</div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;These pages contain the API documentation of JSON for Modern C++, a C++11 header-only JSON class.</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;</div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;# Contents</div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;- @link nlohmann::basic_json `basic_json` class @endlink</div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;- [Functions](functions_func.html)</div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;  - object inspection</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;    - @link nlohmann::basic_json::dump dump @endlink -- value serialization</div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;    - @link nlohmann::basic_json::type type @endlink -- type of the value</div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;    - @link nlohmann::basic_json::is_primitive is_primitive @endlink,</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;      @link nlohmann::basic_json::is_structured is_structured @endlink,</div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;      @link nlohmann::basic_json::is_null is_null @endlink,</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;      @link nlohmann::basic_json::is_boolean is_boolean @endlink,</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;      @link nlohmann::basic_json::is_number is_number @endlink,</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;      @link nlohmann::basic_json::is_number_integer is_number_integer @endlink,</div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;      @link nlohmann::basic_json::is_number_unsigned is_number_unsigned @endlink,</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;      @link nlohmann::basic_json::is_number_float is_number_float @endlink,</div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;      @link nlohmann::basic_json::is_object is_object @endlink,</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;      @link nlohmann::basic_json::is_array is_array @endlink,</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;      @link nlohmann::basic_json::is_string is_string @endlink,</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;      @link nlohmann::basic_json::is_discarded is_discarded @endlink -- check for value type</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    - @link nlohmann::basic_json::operator value_t() const operator value_t @endlink -- type of the value (implicit conversion)</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;  - value access</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    - @link nlohmann::basic_json::get get @endlink -- get a value</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    - @link nlohmann::basic_json::get_ptr get_ptr @endlink -- get a value pointer</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    - @link nlohmann::basic_json::get_ref get_ref @endlink -- get a value reference</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    - @link nlohmann::basic_json::operator ValueType() const operator ValueType @endlink -- get a value (implicit conversion)</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;  - lexicographical comparison operators</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;  - serialization</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  - deserialization</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;- Types</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;  - @link nlohmann::basic_json::array_t arrays @endlink</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;  - @link nlohmann::basic_json::object_t objects @endlink</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;  - @link nlohmann::basic_json::string_t strings @endlink</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;  - @link nlohmann::basic_json::boolean_t booleans @endlink</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;  - numbers</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    - @link nlohmann::basic_json::number_integer_t signed integers @endlink</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    - @link nlohmann::basic_json::number_unsigned_t unsigned integers @endlink</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    - @link nlohmann::basic_json::number_float_t floating-point @endlink</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;# Container function overview</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;The container functions known from STL have been extended to support the different value types from JSON. However, not all functions can be applied to all value types. Note that the signature of some functions differ between the types; for instance, `at` may be called with either a string to address a key in an object or with an integer to address a value in an array.</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;&lt;table&gt;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    &lt;th rowspan=&quot;2&quot;&gt;group&lt;/td&gt;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    &lt;th rowspan=&quot;2&quot;&gt;function&lt;/td&gt;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    &lt;th colspan=&quot;6&quot;&gt;JSON value type&lt;/th&gt;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    &lt;th&gt;object&lt;/th&gt;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    &lt;th&gt;array&lt;/th&gt;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    &lt;th&gt;string&lt;/th&gt;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    &lt;th&gt;number&lt;/th&gt;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    &lt;th&gt;boolean&lt;/th&gt;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    &lt;th&gt;null&lt;/th&gt;</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    &lt;td rowspan=&quot;8&quot;&gt;iterators&lt;/td&gt;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    &lt;td&gt;`begin`&lt;/td&gt;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::begin `begin` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    &lt;td&gt;`cbegin`&lt;/td&gt;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cbegin `cbegin` @endlink (returns `cend()`)&lt;/td&gt;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    &lt;td&gt;`end`&lt;/td&gt;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::end `end` @endlink&lt;/td&gt;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    &lt;td&gt;`cend`&lt;/td&gt;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::cend `cend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;    &lt;td&gt;`rbegin`&lt;/td&gt;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rbegin `rbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    &lt;td&gt;`crbegin`&lt;/td&gt;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crbegin `crbegin` @endlink&lt;/td&gt;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    &lt;td&gt;`rend`&lt;/td&gt;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::rend `rend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    &lt;td&gt;`crend`&lt;/td&gt;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::crend `crend` @endlink&lt;/td&gt;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    &lt;td rowspan=&quot;4&quot;&gt;element&lt;br&gt;access&lt;/td&gt;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    &lt;td&gt;`at`&lt;/td&gt;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::at(const typename object_t::key_type &amp; key) `at` @endlink&lt;/td&gt;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::at(size_type) `at` @endlink&lt;/td&gt;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    &lt;td&gt;`operator[]`&lt;/td&gt;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::operator[](const typename object_t::key_type &amp;key) `operator[]` @endlink&lt;/td&gt;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::operator[](size_type) `operator[]` @endlink&lt;/td&gt;</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::operator[](const typename object_t::key_type &amp; key) `operator[]` @endlink (creates object)&lt;br&gt;@link nlohmann::basic_json::operator[](size_type) `operator[]` @endlink (creates array)&lt;/td&gt;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    &lt;td&gt;`front`&lt;/td&gt;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::front `front` @endlink&lt;/td&gt;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::out_of_range`&lt;/td&gt;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    &lt;td&gt;`back`&lt;/td&gt;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::back `back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::out_of_range`&lt;/td&gt;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    &lt;td rowspan=&quot;3&quot;&gt;capacity&lt;/td&gt;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    &lt;td&gt;`empty`&lt;/td&gt;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink&lt;/td&gt;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink&lt;/td&gt;</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink (returns `false`)&lt;/td&gt;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink (returns `false`)&lt;/td&gt;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink (returns `false`)&lt;/td&gt;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::empty `empty` @endlink (returns `true`)&lt;/td&gt;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    &lt;td&gt;`size`&lt;/td&gt;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink&lt;/td&gt;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink&lt;/td&gt;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::size `size` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    &lt;td&gt;`max_size_`&lt;/td&gt;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink&lt;/td&gt;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink&lt;/td&gt;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink (returns `1`)&lt;/td&gt;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::max_size `max_size` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    &lt;td rowspan=&quot;5&quot;&gt;modifiers&lt;/td&gt;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    &lt;td&gt;`clear`&lt;/td&gt;</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::clear `clear` @endlink&lt;/td&gt;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    &lt;td&gt;`insert`&lt;/td&gt;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::insert `insert` @endlink&lt;/td&gt;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    &lt;td&gt;`erase`&lt;/td&gt;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink&lt;/td&gt;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink&lt;/td&gt;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink (converts to null)&lt;/td&gt;</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink (converts to null)&lt;/td&gt;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::erase `erase` @endlink (converts to null)&lt;/td&gt;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws&lt;/td&gt;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    &lt;td&gt;`push_back`&lt;/td&gt;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::push_back(const typename object_t::value_type &amp; val) `push_back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::push_back(const nlohmann::basic_json &amp;) `push_back` @endlink&lt;/td&gt;</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    &lt;td class=&quot;nok_throws&quot;&gt;throws `std::domain_error`&lt;/td&gt;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::push_back(const typename object_t::value_type &amp; val) `push_back` @endlink (creates object)&lt;br&gt;@link nlohmann::basic_json::push_back(const nlohmann::basic_json &amp;) `push_back` @endlink (creates array)&lt;/td&gt;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    &lt;td&gt;`swap`&lt;/td&gt;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::swap `swap` @endlink&lt;/td&gt;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    &lt;td rowspan=&quot;2&quot;&gt;lookup&lt;/td&gt;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    &lt;td&gt;`find`&lt;/td&gt;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink&lt;/td&gt;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::find `find` @endlink (returns `end()`)&lt;/td&gt;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  &lt;tr&gt;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    &lt;td&gt;`count`&lt;/td&gt;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink&lt;/td&gt;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    &lt;td class=&quot;ok_green&quot;&gt;@link nlohmann::basic_json::count `count` @endlink (returns `0`)&lt;/td&gt;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  &lt;/tr&gt;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;&lt;/table&gt;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;@copyright Copyright &amp;copy; 2013-2016 Niels Lohmann. The code is licensed under the [MIT License](http://opensource.org/licenses/MIT).</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;@author [Niels Lohmann](http://nlohmann.me)</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;@see https://github.com/nlohmann/json to download the source code</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;@version 2.0.2</div></div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:06 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/json_8hpp_source.html b/json_8hpp_source.html
index fe0ed22..c02fde3 100644
--- a/json_8hpp_source.html
+++ b/json_8hpp_source.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -83,224 +83,226 @@
 <div class="title">json.hpp</div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    __ _____ _____ _____</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> __|  |   __|     |   | |  JSON for Modern C++</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">|  |  |__   |  |  | | | |  version 2.0.1</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">|_____|_____|_____|_|___|  https://github.com/nlohmann/json</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">Licensed under the MIT License &lt;http://opensource.org/licenses/MIT&gt;.</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">Copyright (c) 2013-2016 Niels Lohmann &lt;http://nlohmann.me&gt;.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">Permission is hereby  granted, free of charge, to any  person obtaining a copy</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">of this software and associated  documentation files (the &quot;Software&quot;), to deal</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">in the Software  without restriction, including without  limitation the rights</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">to  use, copy,  modify, merge,  publish, distribute,  sublicense, and/or  sell</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">copies  of  the Software,  and  to  permit persons  to  whom  the Software  is</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">The above copyright notice and this permission notice shall be included in all</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">copies or substantial portions of the Software.</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">THE SOFTWARE  IS PROVIDED &quot;AS  IS&quot;, WITHOUT WARRANTY  OF ANY KIND,  EXPRESS OR</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">IMPLIED,  INCLUDING BUT  NOT  LIMITED TO  THE  WARRANTIES OF  MERCHANTABILITY,</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">FITNESS FOR  A PARTICULAR PURPOSE AND  NONINFRINGEMENT. IN NO EVENT  SHALL THE</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">AUTHORS  OR COPYRIGHT  HOLDERS  BE  LIABLE FOR  ANY  CLAIM,  DAMAGES OR  OTHER</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">LIABILITY, WHETHER IN AN ACTION OF  CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">OUT OF OR IN CONNECTION WITH THE SOFTWARE  OR THE USE OR OTHER DEALINGS IN THE</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">SOFTWARE.</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef NLOHMANN_JSON_HPP</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define NLOHMANN_JSON_HPP</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;array&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;cerrno&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;ciso646&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;cstdio&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;initializer_list&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;iomanip&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;iterator&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &lt;type_traits&gt;</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">// disable float-equal warnings on GCC/clang</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">    #pragma GCC diagnostic push</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">    #pragma GCC diagnostic ignored &quot;-Wfloat-equal&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="namespacenlohmann.html">   67</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacenlohmann.html">nlohmann</a></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html">   75</a></span>&#160;<span class="keyword">namespace</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;{</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">struct </span>has_mapped_type</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;{</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> C&gt; <span class="keyword">static</span> <span class="keywordtype">char</span> test(<span class="keyword">typename</span> C::mapped_type*);</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> C&gt; <span class="keyword">static</span> char (&amp;test(...))[2];</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <span class="keyword">static</span> constexpr <span class="keywordtype">bool</span> value = <span class="keyword">sizeof</span>(test&lt;T&gt;(0)) == 1;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;};</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">class </span>DecimalSeparator : <span class="keyword">public</span> std::numpunct&lt;char&gt;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  <span class="keyword">protected</span>:</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keywordtype">char</span> do_decimal_point()<span class="keyword"> const</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        <span class="keywordflow">return</span> <span class="charliteral">&#39;.&#39;</span>;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    }</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;};</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;}</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="keyword">template</span> &lt;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U, <span class="keyword">typename</span> V, <span class="keyword">typename</span>... Args&gt; <span class="keyword">class </span>ObjectType = std::map,</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U, <span class="keyword">typename</span>... Args&gt; <span class="keyword">class </span>ArrayType = std::vector,</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keyword">class </span>StringType = std::string,</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keyword">class </span>BooleanType = bool,</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <span class="keyword">class </span>NumberIntegerType = std::int64_t,</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <span class="keyword">class </span>NumberUnsignedType = std::uint64_t,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keyword">class </span>NumberFloatType = double,</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt; <span class="keyword">class </span>AllocatorType = std::allocator</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    &gt;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json.html">  187</a></span>&#160;<span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;{</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json_t</a> = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&lt;ObjectType,</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;          ArrayType,</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;          StringType,</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;          BooleanType,</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;          NumberIntegerType,</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;          NumberUnsignedType,</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;          NumberFloatType,</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;          AllocatorType&gt;;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="comment">// forward declarations</span></div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">  202</a></span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Base&gt; <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="comment">// container types //</span></div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">  213</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">value_type</a> = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00216"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">  216</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> = <a class="code" href="classnlohmann_1_1basic__json.html">value_type</a>&amp;;</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">  218</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> = <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">value_type</a>&amp;;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">  221</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> = std::ptrdiff_t;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">  223</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> = std::size_t;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">  226</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a> = AllocatorType&lt;basic_json&gt;;</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">  229</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a> = <span class="keyword">typename</span> std::allocator_traits&lt;allocator_type&gt;::pointer;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">  231</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a> = <span class="keyword">typename</span> std::allocator_traits&lt;allocator_type&gt;::const_pointer;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>;</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">  238</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a> = <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator&lt;typename basic_json::iterator&gt;</a>;</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">  240</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> = <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator&lt;typename basic_json::const_iterator&gt;</a>;</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">  248</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a> <a class="code" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">get_allocator</a>()</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    {</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a>();</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    }</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="comment">// JSON value data types //</span></div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> = ObjectType&lt;StringType,</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;          <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>,</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;          std::less&lt;StringType&gt;,</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;          AllocatorType&lt;std::pair&lt;<span class="keyword">const</span> StringType,</div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">  348</a></span>&#160;          basic_json&gt;&gt;&gt;;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">  394</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a> = ArrayType&lt;basic_json, AllocatorType&lt;basic_json&gt;&gt;;</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">  441</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> = StringType;</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;</div><div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">  467</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> = BooleanType;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;</div><div class="line"><a name="l00539"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">  539</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> = NumberIntegerType;</div><div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;</div><div class="line"><a name="l00611"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">  611</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> = NumberUnsignedType;</div><div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;</div><div class="line"><a name="l00679"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">  679</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> = NumberFloatType;</div><div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;</div><div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;    <span class="comment">// JSON type enumeration //</span></div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">  698</a></span>&#160;    <span class="keyword">enum class</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> : uint8_t</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    {</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        null,            </div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;        object,          </div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;        array,           </div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;        string,          </div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;        boolean,         </div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;        number_integer,  </div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;        number_unsigned, </div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;        number_float,    </div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;        discarded        </div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;    };</div><div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span>... Args&gt;</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <span class="keyword">static</span> T* create(Args&amp;&amp; ... args)</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    {</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;        AllocatorType&lt;T&gt; alloc;</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;        <span class="keyword">auto</span> deleter = [&amp;](T * object)</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;        {</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;            alloc.deallocate(<span class="keywordtype">object</span>, 1);</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;        };</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;        std::unique_ptr&lt;T, decltype(deleter)&gt; object(alloc.allocate(1), deleter);</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;        alloc.construct(<span class="keywordtype">object</span>.<span class="keyword">get</span>(), std::forward&lt;Args&gt;(args)...);</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;        <span class="keywordflow">return</span> <span class="keywordtype">object</span>.release();</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;    }</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;    <span class="comment">// JSON value storage //</span></div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;    <span class="keyword">union </span>json_value</div><div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;    {</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>* object;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>* array;</div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>* string;</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> boolean;</div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> number_integer;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> number_unsigned;</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> number_float;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;        json_value() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> v) noexcept : boolean(v) {}</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> v) noexcept : number_integer(v) {}</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> v) noexcept : number_unsigned(v) {}</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> v) noexcept : number_float(v) {}</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> t)</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;        {</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;            <span class="keywordflow">switch</span> (t)</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;            {</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;                {</div><div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;                    <span class="keywordtype">object</span> = create&lt;object_t&gt;();</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;                }</div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;</div><div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                {</div><div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;                    array = create&lt;array_t&gt;();</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;                }</div><div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;</div><div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;                <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;                {</div><div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;                    <span class="keywordtype">string</span> = create&lt;string_t&gt;(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;                }</div><div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;</div><div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;                <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;                {</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;                    <span class="keywordtype">boolean</span> = <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>(<span class="keyword">false</span>);</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;                }</div><div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;</div><div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;                <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;                {</div><div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;                    number_integer = <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>(0);</div><div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;                }</div><div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;</div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;                <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;                {</div><div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;                    number_unsigned = <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>(0);</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;                }</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;                <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;                {</div><div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;                    number_float = <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>(0.0);</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;                }</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;</div><div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;                {</div><div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;                }</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;            }</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;        }</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;        json_value(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; value)</div><div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;        {</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;            <span class="keywordtype">string</span> = create&lt;string_t&gt;(value);</div><div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;        }</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;        json_value(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>&amp; value)</div><div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;        {</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;            <span class="keywordtype">object</span> = create&lt;object_t&gt;(value);</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;        }</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;        json_value(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>&amp; value)</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;        {</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;            array = create&lt;array_t&gt;(value);</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;        }</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;    };</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="comment">// JSON parser callback //</span></div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00853"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">  853</a></span>&#160;    <span class="keyword">enum class</span> <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a> : uint8_t</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;    {</div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;        object_start,</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;        object_end,</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;        array_start,</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;        array_end,</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;        key,</div><div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;        value</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;    };</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;</div><div class="line"><a name="l00918"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">  918</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> = std::function&lt;bool(int depth, parse_event_t event, basic_json&amp; parsed)&gt;;</div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;</div><div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;</div><div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;    <span class="comment">// constructors //</span></div><div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;</div><div class="line"><a name="l00967"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">  967</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> <a class="code" href="classnlohmann_1_1basic__json.html">value_type</a>)</div><div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        : m_type(value_type), m_value(value_type)</div><div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;    {}</div><div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;</div><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;    basic_json() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;</div><div class="line"><a name="l01019"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e"> 1019</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">basic_json</a>(std::nullptr_t) noexcept</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;        : basic_json(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::null)</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;    {}</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div><div class="line"><a name="l01042"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813"> 1042</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>&amp; val)</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::object), m_value(val)</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;    {}</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>CompatibleObjectType, <span class="keyword">typename</span></div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;                  std::is_constructible&lt;typename object_t::key_type, typename CompatibleObjectType::key_type&gt;::value and</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;                  std::is_constructible&lt;basic_json, typename CompatibleObjectType::mapped_type&gt;::value, <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;              = 0&gt;</div><div class="line"><a name="l01077"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8"> 1077</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">basic_json</a>(<span class="keyword">const</span> CompatibleObjectType&amp; val)</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::object)</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;    {</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;        <span class="keyword">using</span> std::begin;</div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;        <span class="keyword">using</span> std::end;</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;        m_value.object = create&lt;object_t&gt;(begin(val), end(val));</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;    }</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;</div><div class="line"><a name="l01104"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf"> 1104</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>&amp; val)</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::array), m_value(val)</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;    {}</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>CompatibleArrayType, <span class="keyword">typename</span></div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename basic_json_t::iterator&gt;::value and</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename basic_json_t::const_iterator&gt;::value and</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename basic_json_t::reverse_iterator&gt;::value and</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename basic_json_t::const_reverse_iterator&gt;::value and</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename array_t::iterator&gt;::value and</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename array_t::const_iterator&gt;::value and</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;                  std::is_constructible&lt;basic_json, typename CompatibleArrayType::value_type&gt;::value, <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;              = 0&gt;</div><div class="line"><a name="l01144"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1"> 1144</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">basic_json</a>(<span class="keyword">const</span> CompatibleArrayType&amp; val)</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::array)</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;    {</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;        <span class="keyword">using</span> std::begin;</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;        <span class="keyword">using</span> std::end;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;        m_value.array = create&lt;array_t&gt;(begin(val), end(val));</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;    }</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160;</div><div class="line"><a name="l01173"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de"> 1173</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; val)</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::string), m_value(val)</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;    {}</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;</div><div class="line"><a name="l01197"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5"> 1197</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json</a>(<span class="keyword">const</span> <span class="keyword">typename</span> string_t::value_type* val)</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;        : basic_json(<a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(val))</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;    {}</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>CompatibleStringType, <span class="keyword">typename</span></div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;                  std::is_constructible&lt;string_t, CompatibleStringType&gt;::value, <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;              = 0&gt;</div><div class="line"><a name="l01228"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9"> 1228</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json</a>(<span class="keyword">const</span> CompatibleStringType&amp; val)</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;        : basic_json(<a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(val))</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;    {}</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;</div><div class="line"><a name="l01246"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a"> 1246</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">basic_json</a>(<a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> val) noexcept</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;        : m_type(value_t::boolean), m_value(val)</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;    {}</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;             <span class="keyword">typename</span> std::enable_if&lt;</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;                 not (std::is_same&lt;T, int&gt;::value)</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;                 and std::is_same&lt;T, number_integer_t&gt;::value</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;             = 0&gt;</div><div class="line"><a name="l01279"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6"> 1279</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> val) noexcept</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160;        : m_type(value_t::number_integer), m_value(val)</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;    {}</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;</div><div class="line"><a name="l01308"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a"> 1308</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> val) noexcept</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;        : m_type(value_t::number_integer),</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;          m_value(static_cast&lt;number_integer_t&gt;(val))</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;    {}</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CompatibleNumberIntegerType, <span class="keyword">typename</span></div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;                 std::is_constructible&lt;number_integer_t, CompatibleNumberIntegerType&gt;::value and</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;                 std::numeric_limits&lt;CompatibleNumberIntegerType&gt;::is_integer and</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;                 std::numeric_limits&lt;CompatibleNumberIntegerType&gt;::is_signed,</div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;                 CompatibleNumberIntegerType&gt;::type</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;             = 0&gt;</div><div class="line"><a name="l01345"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2"> 1345</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json</a>(<span class="keyword">const</span> CompatibleNumberIntegerType val) noexcept</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;        : m_type(value_t::number_integer),</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;          m_value(static_cast&lt;number_integer_t&gt;(val))</div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;    {}</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;             <span class="keyword">typename</span> std::enable_if&lt;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;                 not (std::is_same&lt;T, int&gt;::value)</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;                 and std::is_same&lt;T, number_unsigned_t&gt;::value</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;             = 0&gt;</div><div class="line"><a name="l01373"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d"> 1373</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> val) noexcept</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;        : m_type(value_t::number_unsigned), m_value(val)</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;    {}</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CompatibleNumberUnsignedType, <span class="keyword">typename</span></div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;              std::enable_if &lt;</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;                  std::is_constructible&lt;number_unsigned_t, CompatibleNumberUnsignedType&gt;::value and</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;                  std::numeric_limits&lt;CompatibleNumberUnsignedType&gt;::is_integer and</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;                  not std::numeric_limits&lt;CompatibleNumberUnsignedType&gt;::is_signed,</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;                  CompatibleNumberUnsignedType&gt;::type</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;              = 0&gt;</div><div class="line"><a name="l01404"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834"> 1404</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">basic_json</a>(<span class="keyword">const</span> CompatibleNumberUnsignedType val) noexcept</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;        : m_type(value_t::number_unsigned),</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;          m_value(static_cast&lt;number_unsigned_t&gt;(val))</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;    {}</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;</div><div class="line"><a name="l01433"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f"> 1433</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> val) noexcept</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;        : m_type(value_t::number_float), m_value(val)</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;    {</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;        <span class="comment">// replace infinity and NAN by null</span></div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;        <span class="keywordflow">if</span> (not std::isfinite(val))</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;        {</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;            m_type = value_t::null;</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;            m_value = json_value();</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;        }</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;    }</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CompatibleNumberFloatType, <span class="keyword">typename</span> = <span class="keyword">typename</span></div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;                 std::is_constructible&lt;number_float_t, CompatibleNumberFloatType&gt;::value and</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;                 std::is_floating_point&lt;CompatibleNumberFloatType&gt;::value&gt;::type</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;             &gt;</div><div class="line"><a name="l01480"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe"> 1480</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">basic_json</a>(<span class="keyword">const</span> CompatibleNumberFloatType val) noexcept</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;        : basic_json(<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>(val))</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;    {}</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;</div><div class="line"><a name="l01553"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb"> 1553</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a>(std::initializer_list&lt;basic_json&gt; init,</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;               <span class="keywordtype">bool</span> type_deduction = <span class="keyword">true</span>,</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;               <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> manual_type = value_t::array)</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;    {</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;        <span class="comment">// the initializer list could describe an object</span></div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;        <span class="keywordtype">bool</span> is_an_object = <span class="keyword">true</span>;</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;        <span class="comment">// check if each element is an array with two elements whose first</span></div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;        <span class="comment">// element is a string</span></div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160;        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; element : init)</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;        {</div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;            <span class="keywordflow">if</span> (not element.is_array() or element.size() != 2</div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;                    or not element[0].is_string())</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;            {</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;                <span class="comment">// we found an element that makes it impossible to use the</span></div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;                <span class="comment">// initializer list as object</span></div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;                is_an_object = <span class="keyword">false</span>;</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;            }</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;        }</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;        <span class="comment">// adjust type if type deduction is not wanted</span></div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;        <span class="keywordflow">if</span> (not type_deduction)</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;        {</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;            <span class="comment">// if array is wanted, do not create an object though possible</span></div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;            <span class="keywordflow">if</span> (manual_type == value_t::array)</div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;            {</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;                is_an_object = <span class="keyword">false</span>;</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;            }</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;            <span class="comment">// if object is wanted but impossible, throw an exception</span></div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;            <span class="keywordflow">if</span> (manual_type == value_t::object and not is_an_object)</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;            {</div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot create object from initializer list&quot;</span>);</div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;            }</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;        }</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;        <span class="keywordflow">if</span> (is_an_object)</div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160;        {</div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;            <span class="comment">// the initializer list is a list of pairs -&gt; create object</span></div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;            m_type = value_t::object;</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;            m_value = value_t::object;</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">auto</span>&amp; element : init)</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;            {</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;                m_value.object-&gt;emplace(*(element[0].m_value.string), element[1]);</div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;            }</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;        }</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;        {</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;            <span class="comment">// the initializer list describes an array -&gt; create array</span></div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;            m_type = value_t::array;</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;            m_value.array = create&lt;array_t&gt;(init);</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;        }</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;    }</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;</div><div class="line"><a name="l01645"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f"> 1645</a></span>&#160;    <span class="keyword">static</span> basic_json <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a>(std::initializer_list&lt;basic_json&gt; init =</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;                                std::initializer_list&lt;basic_json&gt;())</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;    {</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;        <span class="keywordflow">return</span> basic_json(init, <span class="keyword">false</span>, value_t::array);</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;    }</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;</div><div class="line"><a name="l01685"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff"> 1685</a></span>&#160;    <span class="keyword">static</span> basic_json <a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a>(std::initializer_list&lt;basic_json&gt; init =</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;                                 std::initializer_list&lt;basic_json&gt;())</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;    {</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;        <span class="keywordflow">return</span> basic_json(init, <span class="keyword">false</span>, value_t::object);</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;    }</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;</div><div class="line"><a name="l01709"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52"> 1709</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> cnt, <span class="keyword">const</span> basic_json&amp; val)</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::array)</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;    {</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;        m_value.array = create&lt;array_t&gt;(cnt, val);</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;    }</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>InputIT, <span class="keyword">typename</span></div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160;                  std::is_same&lt;InputIT, typename basic_json_t::iterator&gt;::value or</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;                  std::is_same&lt;InputIT, typename basic_json_t::const_iterator&gt;::value</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;              = 0&gt;</div><div class="line"><a name="l01755"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c"> 1755</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a>(InputIT first, InputIT last) : m_type(first.m_object-&gt;m_type)</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;    {</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;        <span class="comment">// make sure iterator fits the current value</span></div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;        <span class="keywordflow">if</span> (first.m_object != last.m_object)</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;        {</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterators are not compatible&quot;</span>);</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;        }</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;        <span class="comment">// check if iterator range is complete for primitive values</span></div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;        {</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;            {</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;                <span class="keywordflow">if</span> (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())</div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;                {</div><div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;iterators out of range&quot;</span>);</div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160;                }</div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;            }</div><div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;</div><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;            {</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160;            }</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;        }</div><div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;        {</div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;            {</div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;                assert(first.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;                m_value.number_integer = first.m_object-&gt;m_value.number_integer;</div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;            }</div><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;            {</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;                assert(first.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;                m_value.number_unsigned = first.m_object-&gt;m_value.number_unsigned;</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;            }</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;            {</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;                assert(first.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;                m_value.number_float = first.m_object-&gt;m_value.number_float;</div><div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;            }</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160;</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;            {</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160;                assert(first.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;                m_value.boolean = first.m_object-&gt;m_value.boolean;</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;            }</div><div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160;</div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;            {</div><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;                assert(first.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;                m_value = *first.m_object-&gt;m_value.string;</div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;            }</div><div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160;</div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;            {</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;                m_value.object = create&lt;object_t&gt;(first.m_it.object_iterator, last.m_it.object_iterator);</div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;            }</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;            {</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;                m_value.array = create&lt;array_t&gt;(first.m_it.array_iterator, last.m_it.array_iterator);</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160;            }</div><div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160;</div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160;            {</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160;                assert(first.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use construct with iterators from &quot;</span> + first.m_object-&gt;type_name());</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;            }</div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;        }</div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;    }</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;</div><div class="line"><a name="l01862"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208"> 1862</a></span>&#160;    <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">basic_json</a>(std::istream&amp; i, <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;    {</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;        *<span class="keyword">this</span> = parser(i, cb).parse();</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;    }</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;    <span class="comment">// other constructors and destructor //</span></div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;<span class="comment"></span></div><div class="line"><a name="l01893"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7"> 1893</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a>(<span class="keyword">const</span> basic_json&amp; other)</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;        : m_type(other.m_type)</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;    {</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160;        {</div><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;            {</div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;                assert(other.m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160;                m_value = *other.m_value.object;</div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;            }</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;</div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160;            {</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;                assert(other.m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160;                m_value = *other.m_value.array;</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;            }</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;            {</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;                assert(other.m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;                m_value = *other.m_value.string;</div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;            }</div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;</div><div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;            {</div><div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;                m_value = other.m_value.boolean;</div><div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;            }</div><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;            {</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;                m_value = other.m_value.number_integer;</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;            }</div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;</div><div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;            {</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160;                m_value = other.m_value.number_unsigned;</div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;            }</div><div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;</div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;            {</div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;                m_value = other.m_value.number_float;</div><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;            }</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;            {</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;            }</div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;        }</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;    }</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;</div><div class="line"><a name="l01968"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2"> 1968</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a>(basic_json&amp;&amp; other) noexcept</div><div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;        : m_type(<a class="code" href="namespacestd.html">std</a>::move(other.m_type)),</div><div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;          m_value(<a class="code" href="namespacestd.html">std</a>::move(other.m_value))</div><div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;    {</div><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;        <span class="comment">// invalidate payload</span></div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;        other.m_type = value_t::null;</div><div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;        other.m_value = {};</div><div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;    }</div><div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;</div><div class="line"><a name="l02000"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154"> 2000</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">operator=</a>(basic_json other) noexcept (</div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;        std::is_nothrow_move_constructible&lt;value_t&gt;::value and</div><div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;        std::is_nothrow_move_assignable&lt;value_t&gt;::value and</div><div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;        std::is_nothrow_move_constructible&lt;json_value&gt;::value and</div><div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160;        std::is_nothrow_move_assignable&lt;json_value&gt;::value</div><div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;    )</div><div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;    {</div><div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160;        <span class="keyword">using</span> std::swap;</div><div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;        swap(m_type, other.m_type);</div><div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;        swap(m_value, other.m_value);</div><div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;    }</div><div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;</div><div class="line"><a name="l02028"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831"> 2028</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a>()</div><div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;    {</div><div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;        {</div><div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;            {</div><div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;                AllocatorType&lt;object_t&gt; alloc;</div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;                alloc.destroy(m_value.object);</div><div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;                alloc.deallocate(m_value.object, 1);</div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;            }</div><div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;</div><div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;            {</div><div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;                AllocatorType&lt;array_t&gt; alloc;</div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;                alloc.destroy(m_value.array);</div><div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;                alloc.deallocate(m_value.array, 1);</div><div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;            }</div><div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;</div><div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;            {</div><div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;                AllocatorType&lt;string_t&gt; alloc;</div><div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;                alloc.destroy(m_value.string);</div><div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;                alloc.deallocate(m_value.string, 1);</div><div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;            }</div><div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;</div><div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;            {</div><div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;                <span class="comment">// all other types need no specific destructor</span></div><div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;            }</div><div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;        }</div><div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;    }</div><div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;</div><div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;</div><div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;    <span class="comment">// object inspection //</span></div><div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;<span class="comment"></span></div><div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160;</div><div class="line"><a name="l02097"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40"> 2097</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> <a class="code" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> indent = -1)<span class="keyword"> const</span></div><div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;        std::stringstream ss;</div><div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;        <span class="comment">// fix locale problems</span></div><div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;        ss.imbue(std::locale(std::locale(), <span class="keyword">new</span> DecimalSeparator));</div><div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;</div><div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;        <span class="keywordflow">if</span> (indent &gt;= 0)</div><div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160;        {</div><div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;            dump(ss, <span class="keyword">true</span>, static_cast&lt;unsigned int&gt;(indent));</div><div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;        }</div><div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160;        {</div><div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;            dump(ss, <span class="keyword">false</span>, 0);</div><div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;        }</div><div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;</div><div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160;    }</div><div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;</div><div class="line"><a name="l02133"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa"> 2133</a></span>&#160;    constexpr <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> <a class="code" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a>() const noexcept</div><div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;    {</div><div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;        <span class="keywordflow">return</span> m_type;</div><div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160;    }</div><div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;</div><div class="line"><a name="l02163"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488"> 2163</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">is_primitive</a>() const noexcept</div><div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;    {</div><div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;        <span class="keywordflow">return</span> is_null() or is_string() or is_boolean() or is_number();</div><div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;    }</div><div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;</div><div class="line"><a name="l02190"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8"> 2190</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">is_structured</a>() const noexcept</div><div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;    {</div><div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160;        <span class="keywordflow">return</span> is_array() or is_object();</div><div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160;    }</div><div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;</div><div class="line"><a name="l02212"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb"> 2212</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a>() const noexcept</div><div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160;    {</div><div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::null;</div><div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;    }</div><div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160;</div><div class="line"><a name="l02234"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0"> 2234</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean</a>() const noexcept</div><div class="line"><a name="l02235"></a><span class="lineno"> 2235</span>&#160;    {</div><div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::boolean;</div><div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;    }</div><div class="line"><a name="l02238"></a><span class="lineno"> 2238</span>&#160;</div><div class="line"><a name="l02264"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649"> 2264</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number</a>() const noexcept</div><div class="line"><a name="l02265"></a><span class="lineno"> 2265</span>&#160;    {</div><div class="line"><a name="l02266"></a><span class="lineno"> 2266</span>&#160;        <span class="keywordflow">return</span> is_number_integer() or is_number_float();</div><div class="line"><a name="l02267"></a><span class="lineno"> 2267</span>&#160;    }</div><div class="line"><a name="l02268"></a><span class="lineno"> 2268</span>&#160;</div><div class="line"><a name="l02293"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b"> 2293</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">is_number_integer</a>() const noexcept</div><div class="line"><a name="l02294"></a><span class="lineno"> 2294</span>&#160;    {</div><div class="line"><a name="l02295"></a><span class="lineno"> 2295</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::number_integer or m_type == value_t::number_unsigned;</div><div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160;    }</div><div class="line"><a name="l02297"></a><span class="lineno"> 2297</span>&#160;</div><div class="line"><a name="l02321"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5"> 2321</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned</a>() const noexcept</div><div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>&#160;    {</div><div class="line"><a name="l02323"></a><span class="lineno"> 2323</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::number_unsigned;</div><div class="line"><a name="l02324"></a><span class="lineno"> 2324</span>&#160;    }</div><div class="line"><a name="l02325"></a><span class="lineno"> 2325</span>&#160;</div><div class="line"><a name="l02349"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b"> 2349</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float</a>() const noexcept</div><div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160;    {</div><div class="line"><a name="l02351"></a><span class="lineno"> 2351</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::number_float;</div><div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160;    }</div><div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160;</div><div class="line"><a name="l02371"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316"> 2371</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a>() const noexcept</div><div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160;    {</div><div class="line"><a name="l02373"></a><span class="lineno"> 2373</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::object;</div><div class="line"><a name="l02374"></a><span class="lineno"> 2374</span>&#160;    }</div><div class="line"><a name="l02375"></a><span class="lineno"> 2375</span>&#160;</div><div class="line"><a name="l02393"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666"> 2393</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a>() const noexcept</div><div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160;    {</div><div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::array;</div><div class="line"><a name="l02396"></a><span class="lineno"> 2396</span>&#160;    }</div><div class="line"><a name="l02397"></a><span class="lineno"> 2397</span>&#160;</div><div class="line"><a name="l02415"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03"> 2415</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string</a>() const noexcept</div><div class="line"><a name="l02416"></a><span class="lineno"> 2416</span>&#160;    {</div><div class="line"><a name="l02417"></a><span class="lineno"> 2417</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::string;</div><div class="line"><a name="l02418"></a><span class="lineno"> 2418</span>&#160;    }</div><div class="line"><a name="l02419"></a><span class="lineno"> 2419</span>&#160;</div><div class="line"><a name="l02442"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99"> 2442</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a>() const noexcept</div><div class="line"><a name="l02443"></a><span class="lineno"> 2443</span>&#160;    {</div><div class="line"><a name="l02444"></a><span class="lineno"> 2444</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::discarded;</div><div class="line"><a name="l02445"></a><span class="lineno"> 2445</span>&#160;    }</div><div class="line"><a name="l02446"></a><span class="lineno"> 2446</span>&#160;</div><div class="line"><a name="l02465"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html#a101cd941eb8a5c299660449c71d0e75e"> 2465</a></span>&#160;    constexpr <span class="keyword">operator</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>() const noexcept</div><div class="line"><a name="l02466"></a><span class="lineno"> 2466</span>&#160;    {</div><div class="line"><a name="l02467"></a><span class="lineno"> 2467</span>&#160;        <span class="keywordflow">return</span> m_type;</div><div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160;    }</div><div class="line"><a name="l02469"></a><span class="lineno"> 2469</span>&#160;</div><div class="line"><a name="l02471"></a><span class="lineno"> 2471</span>&#160;</div><div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l02474"></a><span class="lineno"> 2474</span>&#160;    <span class="comment">// value access //</span></div><div class="line"><a name="l02476"></a><span class="lineno"> 2476</span>&#160;<span class="comment"></span></div><div class="line"><a name="l02478"></a><span class="lineno"> 2478</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>T, <span class="keyword">typename</span></div><div class="line"><a name="l02479"></a><span class="lineno"> 2479</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02480"></a><span class="lineno"> 2480</span>&#160;                  std::is_convertible&lt;typename object_t::key_type, typename T::key_type&gt;::value and</div><div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160;                  std::is_convertible&lt;basic_json_t, typename T::mapped_type&gt;::value</div><div class="line"><a name="l02482"></a><span class="lineno"> 2482</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02483"></a><span class="lineno"> 2483</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02484"></a><span class="lineno"> 2484</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02485"></a><span class="lineno"> 2485</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l02486"></a><span class="lineno"> 2486</span>&#160;        {</div><div class="line"><a name="l02487"></a><span class="lineno"> 2487</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l02488"></a><span class="lineno"> 2488</span>&#160;            <span class="keywordflow">return</span> T(m_value.object-&gt;begin(), m_value.object-&gt;end());</div><div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160;        }</div><div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160;        {</div><div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be object, but is &quot;</span> + type_name());</div><div class="line"><a name="l02493"></a><span class="lineno"> 2493</span>&#160;        }</div><div class="line"><a name="l02494"></a><span class="lineno"> 2494</span>&#160;    }</div><div class="line"><a name="l02495"></a><span class="lineno"> 2495</span>&#160;</div><div class="line"><a name="l02497"></a><span class="lineno"> 2497</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> get_impl(<a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>*)<span class="keyword"> const</span></div><div class="line"><a name="l02498"></a><span class="lineno"> 2498</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02499"></a><span class="lineno"> 2499</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l02500"></a><span class="lineno"> 2500</span>&#160;        {</div><div class="line"><a name="l02501"></a><span class="lineno"> 2501</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l02502"></a><span class="lineno"> 2502</span>&#160;            <span class="keywordflow">return</span> *(m_value.object);</div><div class="line"><a name="l02503"></a><span class="lineno"> 2503</span>&#160;        }</div><div class="line"><a name="l02504"></a><span class="lineno"> 2504</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02505"></a><span class="lineno"> 2505</span>&#160;        {</div><div class="line"><a name="l02506"></a><span class="lineno"> 2506</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be object, but is &quot;</span> + type_name());</div><div class="line"><a name="l02507"></a><span class="lineno"> 2507</span>&#160;        }</div><div class="line"><a name="l02508"></a><span class="lineno"> 2508</span>&#160;    }</div><div class="line"><a name="l02509"></a><span class="lineno"> 2509</span>&#160;</div><div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>T, <span class="keyword">typename</span></div><div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160;                  std::is_convertible&lt;basic_json_t, typename T::value_type&gt;::value and</div><div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160;                  not std::is_same&lt;basic_json_t, typename T::value_type&gt;::value and</div><div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160;                  not std::is_arithmetic&lt;T&gt;::value and</div><div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160;                  not std::is_convertible&lt;std::string, T&gt;::value and</div><div class="line"><a name="l02517"></a><span class="lineno"> 2517</span>&#160;                  not has_mapped_type&lt;T&gt;::value</div><div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02519"></a><span class="lineno"> 2519</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02521"></a><span class="lineno"> 2521</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l02522"></a><span class="lineno"> 2522</span>&#160;        {</div><div class="line"><a name="l02523"></a><span class="lineno"> 2523</span>&#160;            T to_vector;</div><div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160;            std::transform(m_value.array-&gt;begin(), m_value.array-&gt;end(),</div><div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160;                           std::inserter(to_vector, to_vector.end()), [](basic_json i)</div><div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160;            {</div><div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160;                <span class="keywordflow">return</span> i.<a class="code" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a>&lt;<span class="keyword">typename</span> T::value_type&gt;();</div><div class="line"><a name="l02529"></a><span class="lineno"> 2529</span>&#160;            });</div><div class="line"><a name="l02530"></a><span class="lineno"> 2530</span>&#160;            <span class="keywordflow">return</span> to_vector;</div><div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160;        }</div><div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160;        {</div><div class="line"><a name="l02534"></a><span class="lineno"> 2534</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be array, but is &quot;</span> + type_name());</div><div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160;        }</div><div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160;    }</div><div class="line"><a name="l02537"></a><span class="lineno"> 2537</span>&#160;</div><div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>T, <span class="keyword">typename</span></div><div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160;                  std::is_convertible&lt;basic_json_t, T&gt;::value and</div><div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160;                  not std::is_same&lt;basic_json_t, T&gt;::value</div><div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160;    std::vector&lt;T&gt; get_impl(std::vector&lt;T&gt;*)<span class="keyword"> const</span></div><div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160;        {</div><div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160;            std::vector&lt;T&gt; to_vector;</div><div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160;            to_vector.reserve(m_value.array-&gt;size());</div><div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160;            std::transform(m_value.array-&gt;begin(), m_value.array-&gt;end(),</div><div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160;                           std::inserter(to_vector, to_vector.end()), [](basic_json i)</div><div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160;            {</div><div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160;                <span class="keywordflow">return</span> i.<a class="code" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a>&lt;T&gt;();</div><div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160;            });</div><div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160;            <span class="keywordflow">return</span> to_vector;</div><div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160;        }</div><div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160;        {</div><div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be array, but is &quot;</span> + type_name());</div><div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160;        }</div><div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160;    }</div><div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160;</div><div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>T, <span class="keyword">typename</span></div><div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160;                  std::is_same&lt;basic_json, typename T::value_type&gt;::value and</div><div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160;                  not has_mapped_type&lt;T&gt;::value</div><div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160;        {</div><div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160;            <span class="keywordflow">return</span> T(m_value.array-&gt;begin(), m_value.array-&gt;end());</div><div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160;        }</div><div class="line"><a name="l02577"></a><span class="lineno"> 2577</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02578"></a><span class="lineno"> 2578</span>&#160;        {</div><div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be array, but is &quot;</span> + type_name());</div><div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160;        }</div><div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160;    }</div><div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160;</div><div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a> get_impl(<a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>*)<span class="keyword"> const</span></div><div class="line"><a name="l02585"></a><span class="lineno"> 2585</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l02587"></a><span class="lineno"> 2587</span>&#160;        {</div><div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l02589"></a><span class="lineno"> 2589</span>&#160;            <span class="keywordflow">return</span> *(m_value.array);</div><div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160;        }</div><div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160;        {</div><div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be array, but is &quot;</span> + type_name());</div><div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160;        }</div><div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160;    }</div><div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160;</div><div class="line"><a name="l02598"></a><span class="lineno"> 2598</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span></div><div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02600"></a><span class="lineno"> 2600</span>&#160;                  std::is_convertible&lt;string_t, T&gt;::value</div><div class="line"><a name="l02601"></a><span class="lineno"> 2601</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02602"></a><span class="lineno"> 2602</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02603"></a><span class="lineno"> 2603</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02604"></a><span class="lineno"> 2604</span>&#160;        <span class="keywordflow">if</span> (is_string())</div><div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160;        {</div><div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160;            assert(m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160;            <span class="keywordflow">return</span> *m_value.string;</div><div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160;        }</div><div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02610"></a><span class="lineno"> 2610</span>&#160;        {</div><div class="line"><a name="l02611"></a><span class="lineno"> 2611</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be string, but is &quot;</span> + type_name());</div><div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160;        }</div><div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160;    }</div><div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160;</div><div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span></div><div class="line"><a name="l02617"></a><span class="lineno"> 2617</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160;                 std::is_arithmetic&lt;T&gt;::value</div><div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02621"></a><span class="lineno"> 2621</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160;        {</div><div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160;            {</div><div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(m_value.number_integer);</div><div class="line"><a name="l02627"></a><span class="lineno"> 2627</span>&#160;            }</div><div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160;</div><div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160;            {</div><div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(m_value.number_unsigned);</div><div class="line"><a name="l02632"></a><span class="lineno"> 2632</span>&#160;            }</div><div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160;</div><div class="line"><a name="l02634"></a><span class="lineno"> 2634</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160;            {</div><div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(m_value.number_float);</div><div class="line"><a name="l02637"></a><span class="lineno"> 2637</span>&#160;            }</div><div class="line"><a name="l02638"></a><span class="lineno"> 2638</span>&#160;</div><div class="line"><a name="l02639"></a><span class="lineno"> 2639</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l02640"></a><span class="lineno"> 2640</span>&#160;            {</div><div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be number, but is &quot;</span> + type_name());</div><div class="line"><a name="l02642"></a><span class="lineno"> 2642</span>&#160;            }</div><div class="line"><a name="l02643"></a><span class="lineno"> 2643</span>&#160;        }</div><div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160;    }</div><div class="line"><a name="l02645"></a><span class="lineno"> 2645</span>&#160;</div><div class="line"><a name="l02647"></a><span class="lineno"> 2647</span>&#160;    constexpr <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> get_impl(<a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>*)<span class="keyword"> const</span></div><div class="line"><a name="l02648"></a><span class="lineno"> 2648</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02649"></a><span class="lineno"> 2649</span>&#160;        <span class="keywordflow">return</span> is_boolean()</div><div class="line"><a name="l02650"></a><span class="lineno"> 2650</span>&#160;               ? m_value.boolean</div><div class="line"><a name="l02651"></a><span class="lineno"> 2651</span>&#160;               : <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be boolean, but is &quot;</span> + type_name());</div><div class="line"><a name="l02652"></a><span class="lineno"> 2652</span>&#160;    }</div><div class="line"><a name="l02653"></a><span class="lineno"> 2653</span>&#160;</div><div class="line"><a name="l02655"></a><span class="lineno"> 2655</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>*) noexcept</div><div class="line"><a name="l02656"></a><span class="lineno"> 2656</span>&#160;    {</div><div class="line"><a name="l02657"></a><span class="lineno"> 2657</span>&#160;        <span class="keywordflow">return</span> is_object() ? m_value.object : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02658"></a><span class="lineno"> 2658</span>&#160;    }</div><div class="line"><a name="l02659"></a><span class="lineno"> 2659</span>&#160;</div><div class="line"><a name="l02661"></a><span class="lineno"> 2661</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02662"></a><span class="lineno"> 2662</span>&#160;    {</div><div class="line"><a name="l02663"></a><span class="lineno"> 2663</span>&#160;        <span class="keywordflow">return</span> is_object() ? m_value.object : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02664"></a><span class="lineno"> 2664</span>&#160;    }</div><div class="line"><a name="l02665"></a><span class="lineno"> 2665</span>&#160;</div><div class="line"><a name="l02667"></a><span class="lineno"> 2667</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>*) noexcept</div><div class="line"><a name="l02668"></a><span class="lineno"> 2668</span>&#160;    {</div><div class="line"><a name="l02669"></a><span class="lineno"> 2669</span>&#160;        <span class="keywordflow">return</span> is_array() ? m_value.array : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02670"></a><span class="lineno"> 2670</span>&#160;    }</div><div class="line"><a name="l02671"></a><span class="lineno"> 2671</span>&#160;</div><div class="line"><a name="l02673"></a><span class="lineno"> 2673</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02674"></a><span class="lineno"> 2674</span>&#160;    {</div><div class="line"><a name="l02675"></a><span class="lineno"> 2675</span>&#160;        <span class="keywordflow">return</span> is_array() ? m_value.array : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02676"></a><span class="lineno"> 2676</span>&#160;    }</div><div class="line"><a name="l02677"></a><span class="lineno"> 2677</span>&#160;</div><div class="line"><a name="l02679"></a><span class="lineno"> 2679</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>*) noexcept</div><div class="line"><a name="l02680"></a><span class="lineno"> 2680</span>&#160;    {</div><div class="line"><a name="l02681"></a><span class="lineno"> 2681</span>&#160;        <span class="keywordflow">return</span> is_string() ? m_value.string : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02682"></a><span class="lineno"> 2682</span>&#160;    }</div><div class="line"><a name="l02683"></a><span class="lineno"> 2683</span>&#160;</div><div class="line"><a name="l02685"></a><span class="lineno"> 2685</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02686"></a><span class="lineno"> 2686</span>&#160;    {</div><div class="line"><a name="l02687"></a><span class="lineno"> 2687</span>&#160;        <span class="keywordflow">return</span> is_string() ? m_value.string : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02688"></a><span class="lineno"> 2688</span>&#160;    }</div><div class="line"><a name="l02689"></a><span class="lineno"> 2689</span>&#160;</div><div class="line"><a name="l02691"></a><span class="lineno"> 2691</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>*) noexcept</div><div class="line"><a name="l02692"></a><span class="lineno"> 2692</span>&#160;    {</div><div class="line"><a name="l02693"></a><span class="lineno"> 2693</span>&#160;        <span class="keywordflow">return</span> is_boolean() ? &amp;m_value.boolean : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02694"></a><span class="lineno"> 2694</span>&#160;    }</div><div class="line"><a name="l02695"></a><span class="lineno"> 2695</span>&#160;</div><div class="line"><a name="l02697"></a><span class="lineno"> 2697</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02698"></a><span class="lineno"> 2698</span>&#160;    {</div><div class="line"><a name="l02699"></a><span class="lineno"> 2699</span>&#160;        <span class="keywordflow">return</span> is_boolean() ? &amp;m_value.boolean : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02700"></a><span class="lineno"> 2700</span>&#160;    }</div><div class="line"><a name="l02701"></a><span class="lineno"> 2701</span>&#160;</div><div class="line"><a name="l02703"></a><span class="lineno"> 2703</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>*) noexcept</div><div class="line"><a name="l02704"></a><span class="lineno"> 2704</span>&#160;    {</div><div class="line"><a name="l02705"></a><span class="lineno"> 2705</span>&#160;        <span class="keywordflow">return</span> is_number_integer() ? &amp;m_value.number_integer : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02706"></a><span class="lineno"> 2706</span>&#160;    }</div><div class="line"><a name="l02707"></a><span class="lineno"> 2707</span>&#160;</div><div class="line"><a name="l02709"></a><span class="lineno"> 2709</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02710"></a><span class="lineno"> 2710</span>&#160;    {</div><div class="line"><a name="l02711"></a><span class="lineno"> 2711</span>&#160;        <span class="keywordflow">return</span> is_number_integer() ? &amp;m_value.number_integer : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02712"></a><span class="lineno"> 2712</span>&#160;    }</div><div class="line"><a name="l02713"></a><span class="lineno"> 2713</span>&#160;</div><div class="line"><a name="l02715"></a><span class="lineno"> 2715</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>*) noexcept</div><div class="line"><a name="l02716"></a><span class="lineno"> 2716</span>&#160;    {</div><div class="line"><a name="l02717"></a><span class="lineno"> 2717</span>&#160;        <span class="keywordflow">return</span> is_number_unsigned() ? &amp;m_value.number_unsigned : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02718"></a><span class="lineno"> 2718</span>&#160;    }</div><div class="line"><a name="l02719"></a><span class="lineno"> 2719</span>&#160;</div><div class="line"><a name="l02721"></a><span class="lineno"> 2721</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02722"></a><span class="lineno"> 2722</span>&#160;    {</div><div class="line"><a name="l02723"></a><span class="lineno"> 2723</span>&#160;        <span class="keywordflow">return</span> is_number_unsigned() ? &amp;m_value.number_unsigned : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02724"></a><span class="lineno"> 2724</span>&#160;    }</div><div class="line"><a name="l02725"></a><span class="lineno"> 2725</span>&#160;</div><div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>*) noexcept</div><div class="line"><a name="l02728"></a><span class="lineno"> 2728</span>&#160;    {</div><div class="line"><a name="l02729"></a><span class="lineno"> 2729</span>&#160;        <span class="keywordflow">return</span> is_number_float() ? &amp;m_value.number_float : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02730"></a><span class="lineno"> 2730</span>&#160;    }</div><div class="line"><a name="l02731"></a><span class="lineno"> 2731</span>&#160;</div><div class="line"><a name="l02733"></a><span class="lineno"> 2733</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02734"></a><span class="lineno"> 2734</span>&#160;    {</div><div class="line"><a name="l02735"></a><span class="lineno"> 2735</span>&#160;        <span class="keywordflow">return</span> is_number_float() ? &amp;m_value.number_float : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02736"></a><span class="lineno"> 2736</span>&#160;    }</div><div class="line"><a name="l02737"></a><span class="lineno"> 2737</span>&#160;</div><div class="line"><a name="l02749"></a><span class="lineno"> 2749</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ReferenceType, <span class="keyword">typename</span> ThisType&gt;</div><div class="line"><a name="l02750"></a><span class="lineno"> 2750</span>&#160;    <span class="keyword">static</span> ReferenceType get_ref_impl(ThisType&amp; obj)</div><div class="line"><a name="l02751"></a><span class="lineno"> 2751</span>&#160;    {</div><div class="line"><a name="l02752"></a><span class="lineno"> 2752</span>&#160;        <span class="comment">// delegate the call to get_ptr&lt;&gt;()</span></div><div class="line"><a name="l02753"></a><span class="lineno"> 2753</span>&#160;        <span class="keyword">using</span> PointerType = <span class="keyword">typename</span> std::add_pointer&lt;ReferenceType&gt;::type;</div><div class="line"><a name="l02754"></a><span class="lineno"> 2754</span>&#160;        <span class="keyword">auto</span> ptr = obj.template get_ptr&lt;PointerType&gt;();</div><div class="line"><a name="l02755"></a><span class="lineno"> 2755</span>&#160;</div><div class="line"><a name="l02756"></a><span class="lineno"> 2756</span>&#160;        <span class="keywordflow">if</span> (ptr != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l02757"></a><span class="lineno"> 2757</span>&#160;        {</div><div class="line"><a name="l02758"></a><span class="lineno"> 2758</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l02759"></a><span class="lineno"> 2759</span>&#160;        }</div><div class="line"><a name="l02760"></a><span class="lineno"> 2760</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02761"></a><span class="lineno"> 2761</span>&#160;        {</div><div class="line"><a name="l02762"></a><span class="lineno"> 2762</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;incompatible ReferenceType for get_ref, actual type is &quot;</span> +</div><div class="line"><a name="l02763"></a><span class="lineno"> 2763</span>&#160;                                    obj.type_name());</div><div class="line"><a name="l02764"></a><span class="lineno"> 2764</span>&#160;        }</div><div class="line"><a name="l02765"></a><span class="lineno"> 2765</span>&#160;    }</div><div class="line"><a name="l02766"></a><span class="lineno"> 2766</span>&#160;</div><div class="line"><a name="l02767"></a><span class="lineno"> 2767</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l02768"></a><span class="lineno"> 2768</span>&#160;</div><div class="line"><a name="l02771"></a><span class="lineno"> 2771</span>&#160;</div><div class="line"><a name="l02805"></a><span class="lineno"> 2805</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ValueType, <span class="keyword">typename</span></div><div class="line"><a name="l02806"></a><span class="lineno"> 2806</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02807"></a><span class="lineno"> 2807</span>&#160;                 not std::is_pointer&lt;ValueType&gt;::value</div><div class="line"><a name="l02808"></a><span class="lineno"> 2808</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02809"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437"> 2809</a></span>&#160;    ValueType <span class="keyword">get</span>() <span class="keyword">const</span></div><div class="line"><a name="l02810"></a><span class="lineno"> 2810</span>&#160;    {</div><div class="line"><a name="l02811"></a><span class="lineno"> 2811</span>&#160;        <span class="keywordflow">return</span> get_impl(static_cast&lt;ValueType*&gt;(<span class="keyword">nullptr</span>));</div><div class="line"><a name="l02812"></a><span class="lineno"> 2812</span>&#160;    }</div><div class="line"><a name="l02813"></a><span class="lineno"> 2813</span>&#160;</div><div class="line"><a name="l02840"></a><span class="lineno"> 2840</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PointerType, <span class="keyword">typename</span></div><div class="line"><a name="l02841"></a><span class="lineno"> 2841</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02842"></a><span class="lineno"> 2842</span>&#160;                 std::is_pointer&lt;PointerType&gt;::value</div><div class="line"><a name="l02843"></a><span class="lineno"> 2843</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02844"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html#ac5693cff1df0775cd3fbe960412cde4b"> 2844</a></span>&#160;    PointerType <span class="keyword">get</span>() noexcept</div><div class="line"><a name="l02845"></a><span class="lineno"> 2845</span>&#160;    {</div><div class="line"><a name="l02846"></a><span class="lineno"> 2846</span>&#160;        <span class="comment">// delegate the call to get_ptr</span></div><div class="line"><a name="l02847"></a><span class="lineno"> 2847</span>&#160;        <span class="keywordflow">return</span> get_ptr&lt;PointerType&gt;();</div><div class="line"><a name="l02848"></a><span class="lineno"> 2848</span>&#160;    }</div><div class="line"><a name="l02849"></a><span class="lineno"> 2849</span>&#160;</div><div class="line"><a name="l02854"></a><span class="lineno"> 2854</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PointerType, <span class="keyword">typename</span></div><div class="line"><a name="l02855"></a><span class="lineno"> 2855</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02856"></a><span class="lineno"> 2856</span>&#160;                 std::is_pointer&lt;PointerType&gt;::value</div><div class="line"><a name="l02857"></a><span class="lineno"> 2857</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02858"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html#a363da77bc39cae041d59ee334ac4f41b"> 2858</a></span>&#160;    constexpr <span class="keyword">const</span> PointerType <span class="keyword">get</span>() <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02859"></a><span class="lineno"> 2859</span>&#160;    {</div><div class="line"><a name="l02860"></a><span class="lineno"> 2860</span>&#160;        <span class="comment">// delegate the call to get_ptr</span></div><div class="line"><a name="l02861"></a><span class="lineno"> 2861</span>&#160;        <span class="keywordflow">return</span> get_ptr&lt;PointerType&gt;();</div><div class="line"><a name="l02862"></a><span class="lineno"> 2862</span>&#160;    }</div><div class="line"><a name="l02863"></a><span class="lineno"> 2863</span>&#160;</div><div class="line"><a name="l02889"></a><span class="lineno"> 2889</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PointerType, <span class="keyword">typename</span></div><div class="line"><a name="l02890"></a><span class="lineno"> 2890</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02891"></a><span class="lineno"> 2891</span>&#160;                 std::is_pointer&lt;PointerType&gt;::value</div><div class="line"><a name="l02892"></a><span class="lineno"> 2892</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02893"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445"> 2893</a></span>&#160;    PointerType <a class="code" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr</a>() noexcept</div><div class="line"><a name="l02894"></a><span class="lineno"> 2894</span>&#160;    {</div><div class="line"><a name="l02895"></a><span class="lineno"> 2895</span>&#160;        <span class="comment">// delegate the call to get_impl_ptr&lt;&gt;()</span></div><div class="line"><a name="l02896"></a><span class="lineno"> 2896</span>&#160;        <span class="keywordflow">return</span> get_impl_ptr(static_cast&lt;PointerType&gt;(<span class="keyword">nullptr</span>));</div><div class="line"><a name="l02897"></a><span class="lineno"> 2897</span>&#160;    }</div><div class="line"><a name="l02898"></a><span class="lineno"> 2898</span>&#160;</div><div class="line"><a name="l02903"></a><span class="lineno"> 2903</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PointerType, <span class="keyword">typename</span></div><div class="line"><a name="l02904"></a><span class="lineno"> 2904</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02905"></a><span class="lineno"> 2905</span>&#160;                 std::is_pointer&lt;PointerType&gt;::value</div><div class="line"><a name="l02906"></a><span class="lineno"> 2906</span>&#160;                 and std::is_const&lt;typename std::remove_pointer&lt;PointerType&gt;::type&gt;::value</div><div class="line"><a name="l02907"></a><span class="lineno"> 2907</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02908"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda"> 2908</a></span>&#160;    constexpr <span class="keyword">const</span> PointerType <a class="code" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">get_ptr</a>() const noexcept</div><div class="line"><a name="l02909"></a><span class="lineno"> 2909</span>&#160;    {</div><div class="line"><a name="l02910"></a><span class="lineno"> 2910</span>&#160;        <span class="comment">// delegate the call to get_impl_ptr&lt;&gt;() const</span></div><div class="line"><a name="l02911"></a><span class="lineno"> 2911</span>&#160;        <span class="keywordflow">return</span> get_impl_ptr(static_cast&lt;const PointerType&gt;(<span class="keyword">nullptr</span>));</div><div class="line"><a name="l02912"></a><span class="lineno"> 2912</span>&#160;    }</div><div class="line"><a name="l02913"></a><span class="lineno"> 2913</span>&#160;</div><div class="line"><a name="l02940"></a><span class="lineno"> 2940</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ReferenceType, <span class="keyword">typename</span></div><div class="line"><a name="l02941"></a><span class="lineno"> 2941</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02942"></a><span class="lineno"> 2942</span>&#160;                 std::is_reference&lt;ReferenceType&gt;::value</div><div class="line"><a name="l02943"></a><span class="lineno"> 2943</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02944"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9"> 2944</a></span>&#160;    ReferenceType <a class="code" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">get_ref</a>()</div><div class="line"><a name="l02945"></a><span class="lineno"> 2945</span>&#160;    {</div><div class="line"><a name="l02946"></a><span class="lineno"> 2946</span>&#160;        <span class="comment">// delegate call to get_ref_impl</span></div><div class="line"><a name="l02947"></a><span class="lineno"> 2947</span>&#160;        <span class="keywordflow">return</span> get_ref_impl&lt;ReferenceType&gt;(*this);</div><div class="line"><a name="l02948"></a><span class="lineno"> 2948</span>&#160;    }</div><div class="line"><a name="l02949"></a><span class="lineno"> 2949</span>&#160;</div><div class="line"><a name="l02954"></a><span class="lineno"> 2954</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ReferenceType, <span class="keyword">typename</span></div><div class="line"><a name="l02955"></a><span class="lineno"> 2955</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02956"></a><span class="lineno"> 2956</span>&#160;                 std::is_reference&lt;ReferenceType&gt;::value</div><div class="line"><a name="l02957"></a><span class="lineno"> 2957</span>&#160;                 and std::is_const&lt;typename std::remove_reference&lt;ReferenceType&gt;::type&gt;::value</div><div class="line"><a name="l02958"></a><span class="lineno"> 2958</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02959"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b"> 2959</a></span>&#160;    ReferenceType <a class="code" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">get_ref</a>()<span class="keyword"> const</span></div><div class="line"><a name="l02960"></a><span class="lineno"> 2960</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02961"></a><span class="lineno"> 2961</span>&#160;        <span class="comment">// delegate call to get_ref_impl</span></div><div class="line"><a name="l02962"></a><span class="lineno"> 2962</span>&#160;        <span class="keywordflow">return</span> get_ref_impl&lt;ReferenceType&gt;(*this);</div><div class="line"><a name="l02963"></a><span class="lineno"> 2963</span>&#160;    }</div><div class="line"><a name="l02964"></a><span class="lineno"> 2964</span>&#160;</div><div class="line"><a name="l02993"></a><span class="lineno"> 2993</span>&#160;    <span class="keyword">template</span> &lt; <span class="keyword">typename</span> ValueType, <span class="keyword">typename</span></div><div class="line"><a name="l02994"></a><span class="lineno"> 2994</span>&#160;               std::enable_if &lt;</div><div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>&#160;                   not std::is_pointer&lt;ValueType&gt;::value</div><div class="line"><a name="l02996"></a><span class="lineno"> 2996</span>&#160;                   and not std::is_same&lt;ValueType, typename string_t::value_type&gt;::value</div><div class="line"><a name="l02997"></a><span class="lineno"> 2997</span>&#160;<span class="preprocessor">#ifndef _MSC_VER  // Fix for issue #167 operator&lt;&lt; abiguity under VS2015</span></div><div class="line"><a name="l02998"></a><span class="lineno"> 2998</span>&#160;                   and not std::is_same&lt;ValueType, std::initializer_list&lt;typename string_t::value_type&gt;&gt;::value</div><div class="line"><a name="l02999"></a><span class="lineno"> 2999</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l03000"></a><span class="lineno"> 3000</span>&#160;                   , <span class="keywordtype">int</span> &gt;::type = 0 &gt;</div><div class="line"><a name="l03001"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html#aef496a56163710084e13612ab73e6ed2"> 3001</a></span>&#160;    <span class="keyword">operator</span> ValueType()<span class="keyword"> const</span></div><div class="line"><a name="l03002"></a><span class="lineno"> 3002</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03003"></a><span class="lineno"> 3003</span>&#160;        <span class="comment">// delegate the call to get&lt;&gt;() const</span></div><div class="line"><a name="l03004"></a><span class="lineno"> 3004</span>&#160;        <span class="keywordflow">return</span> get&lt;ValueType&gt;();</div><div class="line"><a name="l03005"></a><span class="lineno"> 3005</span>&#160;    }</div><div class="line"><a name="l03006"></a><span class="lineno"> 3006</span>&#160;</div><div class="line"><a name="l03008"></a><span class="lineno"> 3008</span>&#160;</div><div class="line"><a name="l03009"></a><span class="lineno"> 3009</span>&#160;</div><div class="line"><a name="l03011"></a><span class="lineno"> 3011</span>&#160;    <span class="comment">// element access //</span></div><div class="line"><a name="l03013"></a><span class="lineno"> 3013</span>&#160;<span class="comment"></span></div><div class="line"><a name="l03016"></a><span class="lineno"> 3016</span>&#160;</div><div class="line"><a name="l03039"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9"> 3039</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)</div><div class="line"><a name="l03040"></a><span class="lineno"> 3040</span>&#160;    {</div><div class="line"><a name="l03041"></a><span class="lineno"> 3041</span>&#160;        <span class="comment">// at only works for arrays</span></div><div class="line"><a name="l03042"></a><span class="lineno"> 3042</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l03043"></a><span class="lineno"> 3043</span>&#160;        {</div><div class="line"><a name="l03044"></a><span class="lineno"> 3044</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l03045"></a><span class="lineno"> 3045</span>&#160;            {</div><div class="line"><a name="l03046"></a><span class="lineno"> 3046</span>&#160;                assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03047"></a><span class="lineno"> 3047</span>&#160;                <span class="keywordflow">return</span> m_value.array-&gt;at(idx);</div><div class="line"><a name="l03048"></a><span class="lineno"> 3048</span>&#160;            }</div><div class="line"><a name="l03049"></a><span class="lineno"> 3049</span>&#160;            <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l03050"></a><span class="lineno"> 3050</span>&#160;            {</div><div class="line"><a name="l03051"></a><span class="lineno"> 3051</span>&#160;                <span class="comment">// create better exception explanation</span></div><div class="line"><a name="l03052"></a><span class="lineno"> 3052</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &quot;</span> + std::to_string(idx) + <span class="stringliteral">&quot; is out of range&quot;</span>);</div><div class="line"><a name="l03053"></a><span class="lineno"> 3053</span>&#160;            }</div><div class="line"><a name="l03054"></a><span class="lineno"> 3054</span>&#160;        }</div><div class="line"><a name="l03055"></a><span class="lineno"> 3055</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03056"></a><span class="lineno"> 3056</span>&#160;        {</div><div class="line"><a name="l03057"></a><span class="lineno"> 3057</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use at() with &quot;</span> + type_name());</div><div class="line"><a name="l03058"></a><span class="lineno"> 3058</span>&#160;        }</div><div class="line"><a name="l03059"></a><span class="lineno"> 3059</span>&#160;    }</div><div class="line"><a name="l03060"></a><span class="lineno"> 3060</span>&#160;</div><div class="line"><a name="l03083"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be"> 3083</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">at</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)<span class="keyword"> const</span></div><div class="line"><a name="l03084"></a><span class="lineno"> 3084</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03085"></a><span class="lineno"> 3085</span>&#160;        <span class="comment">// at only works for arrays</span></div><div class="line"><a name="l03086"></a><span class="lineno"> 3086</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l03087"></a><span class="lineno"> 3087</span>&#160;        {</div><div class="line"><a name="l03088"></a><span class="lineno"> 3088</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l03089"></a><span class="lineno"> 3089</span>&#160;            {</div><div class="line"><a name="l03090"></a><span class="lineno"> 3090</span>&#160;                assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03091"></a><span class="lineno"> 3091</span>&#160;                <span class="keywordflow">return</span> m_value.array-&gt;at(idx);</div><div class="line"><a name="l03092"></a><span class="lineno"> 3092</span>&#160;            }</div><div class="line"><a name="l03093"></a><span class="lineno"> 3093</span>&#160;            <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l03094"></a><span class="lineno"> 3094</span>&#160;            {</div><div class="line"><a name="l03095"></a><span class="lineno"> 3095</span>&#160;                <span class="comment">// create better exception explanation</span></div><div class="line"><a name="l03096"></a><span class="lineno"> 3096</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &quot;</span> + std::to_string(idx) + <span class="stringliteral">&quot; is out of range&quot;</span>);</div><div class="line"><a name="l03097"></a><span class="lineno"> 3097</span>&#160;            }</div><div class="line"><a name="l03098"></a><span class="lineno"> 3098</span>&#160;        }</div><div class="line"><a name="l03099"></a><span class="lineno"> 3099</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03100"></a><span class="lineno"> 3100</span>&#160;        {</div><div class="line"><a name="l03101"></a><span class="lineno"> 3101</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use at() with &quot;</span> + type_name());</div><div class="line"><a name="l03102"></a><span class="lineno"> 3102</span>&#160;        }</div><div class="line"><a name="l03103"></a><span class="lineno"> 3103</span>&#160;    }</div><div class="line"><a name="l03104"></a><span class="lineno"> 3104</span>&#160;</div><div class="line"><a name="l03131"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074"> 3131</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)</div><div class="line"><a name="l03132"></a><span class="lineno"> 3132</span>&#160;    {</div><div class="line"><a name="l03133"></a><span class="lineno"> 3133</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03134"></a><span class="lineno"> 3134</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03135"></a><span class="lineno"> 3135</span>&#160;        {</div><div class="line"><a name="l03136"></a><span class="lineno"> 3136</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l03137"></a><span class="lineno"> 3137</span>&#160;            {</div><div class="line"><a name="l03138"></a><span class="lineno"> 3138</span>&#160;                assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03139"></a><span class="lineno"> 3139</span>&#160;                <span class="keywordflow">return</span> m_value.object-&gt;at(key);</div><div class="line"><a name="l03140"></a><span class="lineno"> 3140</span>&#160;            }</div><div class="line"><a name="l03141"></a><span class="lineno"> 3141</span>&#160;            <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l03142"></a><span class="lineno"> 3142</span>&#160;            {</div><div class="line"><a name="l03143"></a><span class="lineno"> 3143</span>&#160;                <span class="comment">// create better exception explanation</span></div><div class="line"><a name="l03144"></a><span class="lineno"> 3144</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;key &#39;&quot;</span> + key + <span class="stringliteral">&quot;&#39; not found&quot;</span>);</div><div class="line"><a name="l03145"></a><span class="lineno"> 3145</span>&#160;            }</div><div class="line"><a name="l03146"></a><span class="lineno"> 3146</span>&#160;        }</div><div class="line"><a name="l03147"></a><span class="lineno"> 3147</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03148"></a><span class="lineno"> 3148</span>&#160;        {</div><div class="line"><a name="l03149"></a><span class="lineno"> 3149</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use at() with &quot;</span> + type_name());</div><div class="line"><a name="l03150"></a><span class="lineno"> 3150</span>&#160;        }</div><div class="line"><a name="l03151"></a><span class="lineno"> 3151</span>&#160;    }</div><div class="line"><a name="l03152"></a><span class="lineno"> 3152</span>&#160;</div><div class="line"><a name="l03179"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726"> 3179</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">at</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)<span class="keyword"> const</span></div><div class="line"><a name="l03180"></a><span class="lineno"> 3180</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03181"></a><span class="lineno"> 3181</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03182"></a><span class="lineno"> 3182</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03183"></a><span class="lineno"> 3183</span>&#160;        {</div><div class="line"><a name="l03184"></a><span class="lineno"> 3184</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l03185"></a><span class="lineno"> 3185</span>&#160;            {</div><div class="line"><a name="l03186"></a><span class="lineno"> 3186</span>&#160;                assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03187"></a><span class="lineno"> 3187</span>&#160;                <span class="keywordflow">return</span> m_value.object-&gt;at(key);</div><div class="line"><a name="l03188"></a><span class="lineno"> 3188</span>&#160;            }</div><div class="line"><a name="l03189"></a><span class="lineno"> 3189</span>&#160;            <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l03190"></a><span class="lineno"> 3190</span>&#160;            {</div><div class="line"><a name="l03191"></a><span class="lineno"> 3191</span>&#160;                <span class="comment">// create better exception explanation</span></div><div class="line"><a name="l03192"></a><span class="lineno"> 3192</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;key &#39;&quot;</span> + key + <span class="stringliteral">&quot;&#39; not found&quot;</span>);</div><div class="line"><a name="l03193"></a><span class="lineno"> 3193</span>&#160;            }</div><div class="line"><a name="l03194"></a><span class="lineno"> 3194</span>&#160;        }</div><div class="line"><a name="l03195"></a><span class="lineno"> 3195</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03196"></a><span class="lineno"> 3196</span>&#160;        {</div><div class="line"><a name="l03197"></a><span class="lineno"> 3197</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use at() with &quot;</span> + type_name());</div><div class="line"><a name="l03198"></a><span class="lineno"> 3198</span>&#160;        }</div><div class="line"><a name="l03199"></a><span class="lineno"> 3199</span>&#160;    }</div><div class="line"><a name="l03200"></a><span class="lineno"> 3200</span>&#160;</div><div class="line"><a name="l03226"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159"> 3226</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)</div><div class="line"><a name="l03227"></a><span class="lineno"> 3227</span>&#160;    {</div><div class="line"><a name="l03228"></a><span class="lineno"> 3228</span>&#160;        <span class="comment">// implicitly convert null value to an empty array</span></div><div class="line"><a name="l03229"></a><span class="lineno"> 3229</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l03230"></a><span class="lineno"> 3230</span>&#160;        {</div><div class="line"><a name="l03231"></a><span class="lineno"> 3231</span>&#160;            m_type = value_t::array;</div><div class="line"><a name="l03232"></a><span class="lineno"> 3232</span>&#160;            m_value.<a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a> = create&lt;array_t&gt;();</div><div class="line"><a name="l03233"></a><span class="lineno"> 3233</span>&#160;        }</div><div class="line"><a name="l03234"></a><span class="lineno"> 3234</span>&#160;</div><div class="line"><a name="l03235"></a><span class="lineno"> 3235</span>&#160;        <span class="comment">// operator[] only works for arrays</span></div><div class="line"><a name="l03236"></a><span class="lineno"> 3236</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l03237"></a><span class="lineno"> 3237</span>&#160;        {</div><div class="line"><a name="l03238"></a><span class="lineno"> 3238</span>&#160;            <span class="comment">// fill up array with null values until given idx is reached</span></div><div class="line"><a name="l03239"></a><span class="lineno"> 3239</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03240"></a><span class="lineno"> 3240</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = m_value.array-&gt;size(); i &lt;= idx; ++i)</div><div class="line"><a name="l03241"></a><span class="lineno"> 3241</span>&#160;            {</div><div class="line"><a name="l03242"></a><span class="lineno"> 3242</span>&#160;                m_value.array-&gt;push_back(basic_json());</div><div class="line"><a name="l03243"></a><span class="lineno"> 3243</span>&#160;            }</div><div class="line"><a name="l03244"></a><span class="lineno"> 3244</span>&#160;</div><div class="line"><a name="l03245"></a><span class="lineno"> 3245</span>&#160;            <span class="keywordflow">return</span> m_value.array-&gt;operator[](idx);</div><div class="line"><a name="l03246"></a><span class="lineno"> 3246</span>&#160;        }</div><div class="line"><a name="l03247"></a><span class="lineno"> 3247</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03248"></a><span class="lineno"> 3248</span>&#160;        {</div><div class="line"><a name="l03249"></a><span class="lineno"> 3249</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03250"></a><span class="lineno"> 3250</span>&#160;        }</div><div class="line"><a name="l03251"></a><span class="lineno"> 3251</span>&#160;    }</div><div class="line"><a name="l03252"></a><span class="lineno"> 3252</span>&#160;</div><div class="line"><a name="l03272"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea"> 3272</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)<span class="keyword"> const</span></div><div class="line"><a name="l03273"></a><span class="lineno"> 3273</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03274"></a><span class="lineno"> 3274</span>&#160;        <span class="comment">// const operator[] only works for arrays</span></div><div class="line"><a name="l03275"></a><span class="lineno"> 3275</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l03276"></a><span class="lineno"> 3276</span>&#160;        {</div><div class="line"><a name="l03277"></a><span class="lineno"> 3277</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03278"></a><span class="lineno"> 3278</span>&#160;            <span class="keywordflow">return</span> m_value.array-&gt;operator[](idx);</div><div class="line"><a name="l03279"></a><span class="lineno"> 3279</span>&#160;        }</div><div class="line"><a name="l03280"></a><span class="lineno"> 3280</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03281"></a><span class="lineno"> 3281</span>&#160;        {</div><div class="line"><a name="l03282"></a><span class="lineno"> 3282</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03283"></a><span class="lineno"> 3283</span>&#160;        }</div><div class="line"><a name="l03284"></a><span class="lineno"> 3284</span>&#160;    }</div><div class="line"><a name="l03285"></a><span class="lineno"> 3285</span>&#160;</div><div class="line"><a name="l03313"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034"> 3313</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[]</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)</div><div class="line"><a name="l03314"></a><span class="lineno"> 3314</span>&#160;    {</div><div class="line"><a name="l03315"></a><span class="lineno"> 3315</span>&#160;        <span class="comment">// implicitly convert null value to an empty object</span></div><div class="line"><a name="l03316"></a><span class="lineno"> 3316</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l03317"></a><span class="lineno"> 3317</span>&#160;        {</div><div class="line"><a name="l03318"></a><span class="lineno"> 3318</span>&#160;            m_type = value_t::object;</div><div class="line"><a name="l03319"></a><span class="lineno"> 3319</span>&#160;            m_value.<a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a> = create&lt;object_t&gt;();</div><div class="line"><a name="l03320"></a><span class="lineno"> 3320</span>&#160;        }</div><div class="line"><a name="l03321"></a><span class="lineno"> 3321</span>&#160;</div><div class="line"><a name="l03322"></a><span class="lineno"> 3322</span>&#160;        <span class="comment">// operator[] only works for objects</span></div><div class="line"><a name="l03323"></a><span class="lineno"> 3323</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03324"></a><span class="lineno"> 3324</span>&#160;        {</div><div class="line"><a name="l03325"></a><span class="lineno"> 3325</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03326"></a><span class="lineno"> 3326</span>&#160;            <span class="keywordflow">return</span> m_value.object-&gt;operator[](key);</div><div class="line"><a name="l03327"></a><span class="lineno"> 3327</span>&#160;        }</div><div class="line"><a name="l03328"></a><span class="lineno"> 3328</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03329"></a><span class="lineno"> 3329</span>&#160;        {</div><div class="line"><a name="l03330"></a><span class="lineno"> 3330</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03331"></a><span class="lineno"> 3331</span>&#160;        }</div><div class="line"><a name="l03332"></a><span class="lineno"> 3332</span>&#160;    }</div><div class="line"><a name="l03333"></a><span class="lineno"> 3333</span>&#160;</div><div class="line"><a name="l03361"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1"> 3361</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">operator[]</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)<span class="keyword"> const</span></div><div class="line"><a name="l03362"></a><span class="lineno"> 3362</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03363"></a><span class="lineno"> 3363</span>&#160;        <span class="comment">// const operator[] only works for objects</span></div><div class="line"><a name="l03364"></a><span class="lineno"> 3364</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03365"></a><span class="lineno"> 3365</span>&#160;        {</div><div class="line"><a name="l03366"></a><span class="lineno"> 3366</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03367"></a><span class="lineno"> 3367</span>&#160;            assert(m_value.object-&gt;find(key) != m_value.object-&gt;end());</div><div class="line"><a name="l03368"></a><span class="lineno"> 3368</span>&#160;            <span class="keywordflow">return</span> m_value.object-&gt;find(key)-&gt;second;</div><div class="line"><a name="l03369"></a><span class="lineno"> 3369</span>&#160;        }</div><div class="line"><a name="l03370"></a><span class="lineno"> 3370</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03371"></a><span class="lineno"> 3371</span>&#160;        {</div><div class="line"><a name="l03372"></a><span class="lineno"> 3372</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03373"></a><span class="lineno"> 3373</span>&#160;        }</div><div class="line"><a name="l03374"></a><span class="lineno"> 3374</span>&#160;    }</div><div class="line"><a name="l03375"></a><span class="lineno"> 3375</span>&#160;</div><div class="line"><a name="l03403"></a><span class="lineno"> 3403</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> n&gt;</div><div class="line"><a name="l03404"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b"> 3404</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">operator[]</a>(T * (&amp;key)[n])</div><div class="line"><a name="l03405"></a><span class="lineno"> 3405</span>&#160;    {</div><div class="line"><a name="l03406"></a><span class="lineno"> 3406</span>&#160;        <span class="keywordflow">return</span> operator[](static_cast&lt;const T&gt;(key));</div><div class="line"><a name="l03407"></a><span class="lineno"> 3407</span>&#160;    }</div><div class="line"><a name="l03408"></a><span class="lineno"> 3408</span>&#160;</div><div class="line"><a name="l03438"></a><span class="lineno"> 3438</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> n&gt;</div><div class="line"><a name="l03439"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae"> 3439</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">operator[]</a>(T * (&amp;key)[n])<span class="keyword"> const</span></div><div class="line"><a name="l03440"></a><span class="lineno"> 3440</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03441"></a><span class="lineno"> 3441</span>&#160;        <span class="keywordflow">return</span> operator[](static_cast&lt;const T&gt;(key));</div><div class="line"><a name="l03442"></a><span class="lineno"> 3442</span>&#160;    }</div><div class="line"><a name="l03443"></a><span class="lineno"> 3443</span>&#160;</div><div class="line"><a name="l03471"></a><span class="lineno"> 3471</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l03472"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e"> 3472</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">operator[]</a>(T* key)</div><div class="line"><a name="l03473"></a><span class="lineno"> 3473</span>&#160;    {</div><div class="line"><a name="l03474"></a><span class="lineno"> 3474</span>&#160;        <span class="comment">// implicitly convert null to object</span></div><div class="line"><a name="l03475"></a><span class="lineno"> 3475</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l03476"></a><span class="lineno"> 3476</span>&#160;        {</div><div class="line"><a name="l03477"></a><span class="lineno"> 3477</span>&#160;            m_type = value_t::object;</div><div class="line"><a name="l03478"></a><span class="lineno"> 3478</span>&#160;            m_value = value_t::object;</div><div class="line"><a name="l03479"></a><span class="lineno"> 3479</span>&#160;        }</div><div class="line"><a name="l03480"></a><span class="lineno"> 3480</span>&#160;</div><div class="line"><a name="l03481"></a><span class="lineno"> 3481</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03482"></a><span class="lineno"> 3482</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03483"></a><span class="lineno"> 3483</span>&#160;        {</div><div class="line"><a name="l03484"></a><span class="lineno"> 3484</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03485"></a><span class="lineno"> 3485</span>&#160;            <span class="keywordflow">return</span> m_value.object-&gt;operator[](key);</div><div class="line"><a name="l03486"></a><span class="lineno"> 3486</span>&#160;        }</div><div class="line"><a name="l03487"></a><span class="lineno"> 3487</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03488"></a><span class="lineno"> 3488</span>&#160;        {</div><div class="line"><a name="l03489"></a><span class="lineno"> 3489</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03490"></a><span class="lineno"> 3490</span>&#160;        }</div><div class="line"><a name="l03491"></a><span class="lineno"> 3491</span>&#160;    }</div><div class="line"><a name="l03492"></a><span class="lineno"> 3492</span>&#160;</div><div class="line"><a name="l03520"></a><span class="lineno"> 3520</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l03521"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e"> 3521</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a>(T* key)<span class="keyword"> const</span></div><div class="line"><a name="l03522"></a><span class="lineno"> 3522</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03523"></a><span class="lineno"> 3523</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03524"></a><span class="lineno"> 3524</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03525"></a><span class="lineno"> 3525</span>&#160;        {</div><div class="line"><a name="l03526"></a><span class="lineno"> 3526</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03527"></a><span class="lineno"> 3527</span>&#160;            assert(m_value.object-&gt;find(key) != m_value.object-&gt;end());</div><div class="line"><a name="l03528"></a><span class="lineno"> 3528</span>&#160;            <span class="keywordflow">return</span> m_value.object-&gt;find(key)-&gt;second;</div><div class="line"><a name="l03529"></a><span class="lineno"> 3529</span>&#160;        }</div><div class="line"><a name="l03530"></a><span class="lineno"> 3530</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03531"></a><span class="lineno"> 3531</span>&#160;        {</div><div class="line"><a name="l03532"></a><span class="lineno"> 3532</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03533"></a><span class="lineno"> 3533</span>&#160;        }</div><div class="line"><a name="l03534"></a><span class="lineno"> 3534</span>&#160;    }</div><div class="line"><a name="l03535"></a><span class="lineno"> 3535</span>&#160;</div><div class="line"><a name="l03584"></a><span class="lineno"> 3584</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>ValueType, <span class="keyword">typename</span></div><div class="line"><a name="l03585"></a><span class="lineno"> 3585</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l03586"></a><span class="lineno"> 3586</span>&#160;                  std::is_convertible&lt;basic_json_t, ValueType&gt;::value</div><div class="line"><a name="l03587"></a><span class="lineno"> 3587</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l03588"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0"> 3588</a></span>&#160;    ValueType <a class="code" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key, ValueType default_value)<span class="keyword"> const</span></div><div class="line"><a name="l03589"></a><span class="lineno"> 3589</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03590"></a><span class="lineno"> 3590</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03591"></a><span class="lineno"> 3591</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03592"></a><span class="lineno"> 3592</span>&#160;        {</div><div class="line"><a name="l03593"></a><span class="lineno"> 3593</span>&#160;            <span class="comment">// if key is found, return value and given default value otherwise</span></div><div class="line"><a name="l03594"></a><span class="lineno"> 3594</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> it = find(key);</div><div class="line"><a name="l03595"></a><span class="lineno"> 3595</span>&#160;            <span class="keywordflow">if</span> (it != end())</div><div class="line"><a name="l03596"></a><span class="lineno"> 3596</span>&#160;            {</div><div class="line"><a name="l03597"></a><span class="lineno"> 3597</span>&#160;                <span class="keywordflow">return</span> *it;</div><div class="line"><a name="l03598"></a><span class="lineno"> 3598</span>&#160;            }</div><div class="line"><a name="l03599"></a><span class="lineno"> 3599</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l03600"></a><span class="lineno"> 3600</span>&#160;            {</div><div class="line"><a name="l03601"></a><span class="lineno"> 3601</span>&#160;                <span class="keywordflow">return</span> default_value;</div><div class="line"><a name="l03602"></a><span class="lineno"> 3602</span>&#160;            }</div><div class="line"><a name="l03603"></a><span class="lineno"> 3603</span>&#160;        }</div><div class="line"><a name="l03604"></a><span class="lineno"> 3604</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03605"></a><span class="lineno"> 3605</span>&#160;        {</div><div class="line"><a name="l03606"></a><span class="lineno"> 3606</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use value() with &quot;</span> + type_name());</div><div class="line"><a name="l03607"></a><span class="lineno"> 3607</span>&#160;        }</div><div class="line"><a name="l03608"></a><span class="lineno"> 3608</span>&#160;    }</div><div class="line"><a name="l03609"></a><span class="lineno"> 3609</span>&#160;</div><div class="line"><a name="l03614"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42"> 3614</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> <a class="code" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key, <span class="keyword">const</span> <span class="keywordtype">char</span>* default_value)<span class="keyword"> const</span></div><div class="line"><a name="l03615"></a><span class="lineno"> 3615</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03616"></a><span class="lineno"> 3616</span>&#160;        <span class="keywordflow">return</span> value(key, <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(default_value));</div><div class="line"><a name="l03617"></a><span class="lineno"> 3617</span>&#160;    }</div><div class="line"><a name="l03618"></a><span class="lineno"> 3618</span>&#160;</div><div class="line"><a name="l03643"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c"> 3643</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front</a>()</div><div class="line"><a name="l03644"></a><span class="lineno"> 3644</span>&#160;    {</div><div class="line"><a name="l03645"></a><span class="lineno"> 3645</span>&#160;        <span class="keywordflow">return</span> *begin();</div><div class="line"><a name="l03646"></a><span class="lineno"> 3646</span>&#160;    }</div><div class="line"><a name="l03647"></a><span class="lineno"> 3647</span>&#160;</div><div class="line"><a name="l03651"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480"> 3651</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">front</a>()<span class="keyword"> const</span></div><div class="line"><a name="l03652"></a><span class="lineno"> 3652</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03653"></a><span class="lineno"> 3653</span>&#160;        <span class="keywordflow">return</span> *cbegin();</div><div class="line"><a name="l03654"></a><span class="lineno"> 3654</span>&#160;    }</div><div class="line"><a name="l03655"></a><span class="lineno"> 3655</span>&#160;</div><div class="line"><a name="l03685"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5"> 3685</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back</a>()</div><div class="line"><a name="l03686"></a><span class="lineno"> 3686</span>&#160;    {</div><div class="line"><a name="l03687"></a><span class="lineno"> 3687</span>&#160;        <span class="keyword">auto</span> tmp = end();</div><div class="line"><a name="l03688"></a><span class="lineno"> 3688</span>&#160;        --tmp;</div><div class="line"><a name="l03689"></a><span class="lineno"> 3689</span>&#160;        <span class="keywordflow">return</span> *tmp;</div><div class="line"><a name="l03690"></a><span class="lineno"> 3690</span>&#160;    }</div><div class="line"><a name="l03691"></a><span class="lineno"> 3691</span>&#160;</div><div class="line"><a name="l03695"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6"> 3695</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">back</a>()<span class="keyword"> const</span></div><div class="line"><a name="l03696"></a><span class="lineno"> 3696</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03697"></a><span class="lineno"> 3697</span>&#160;        <span class="keyword">auto</span> tmp = cend();</div><div class="line"><a name="l03698"></a><span class="lineno"> 3698</span>&#160;        --tmp;</div><div class="line"><a name="l03699"></a><span class="lineno"> 3699</span>&#160;        <span class="keywordflow">return</span> *tmp;</div><div class="line"><a name="l03700"></a><span class="lineno"> 3700</span>&#160;    }</div><div class="line"><a name="l03701"></a><span class="lineno"> 3701</span>&#160;</div><div class="line"><a name="l03747"></a><span class="lineno"> 3747</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>InteratorType, <span class="keyword">typename</span></div><div class="line"><a name="l03748"></a><span class="lineno"> 3748</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l03749"></a><span class="lineno"> 3749</span>&#160;                  std::is_same&lt;InteratorType, typename basic_json_t::iterator&gt;::value or</div><div class="line"><a name="l03750"></a><span class="lineno"> 3750</span>&#160;                  std::is_same&lt;InteratorType, typename basic_json_t::const_iterator&gt;::value</div><div class="line"><a name="l03751"></a><span class="lineno"> 3751</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l03752"></a><span class="lineno"> 3752</span>&#160;              = 0&gt;</div><div class="line"><a name="l03753"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45"> 3753</a></span>&#160;    InteratorType <a class="code" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a>(InteratorType pos)</div><div class="line"><a name="l03754"></a><span class="lineno"> 3754</span>&#160;    {</div><div class="line"><a name="l03755"></a><span class="lineno"> 3755</span>&#160;        <span class="comment">// make sure iterator fits the current value</span></div><div class="line"><a name="l03756"></a><span class="lineno"> 3756</span>&#160;        <span class="keywordflow">if</span> (<span class="keyword">this</span> != pos.m_object)</div><div class="line"><a name="l03757"></a><span class="lineno"> 3757</span>&#160;        {</div><div class="line"><a name="l03758"></a><span class="lineno"> 3758</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l03759"></a><span class="lineno"> 3759</span>&#160;        }</div><div class="line"><a name="l03760"></a><span class="lineno"> 3760</span>&#160;</div><div class="line"><a name="l03761"></a><span class="lineno"> 3761</span>&#160;        InteratorType result = end();</div><div class="line"><a name="l03762"></a><span class="lineno"> 3762</span>&#160;</div><div class="line"><a name="l03763"></a><span class="lineno"> 3763</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l03764"></a><span class="lineno"> 3764</span>&#160;        {</div><div class="line"><a name="l03765"></a><span class="lineno"> 3765</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l03766"></a><span class="lineno"> 3766</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l03767"></a><span class="lineno"> 3767</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l03768"></a><span class="lineno"> 3768</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l03769"></a><span class="lineno"> 3769</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l03770"></a><span class="lineno"> 3770</span>&#160;            {</div><div class="line"><a name="l03771"></a><span class="lineno"> 3771</span>&#160;                <span class="keywordflow">if</span> (not pos.m_it.primitive_iterator.is_begin())</div><div class="line"><a name="l03772"></a><span class="lineno"> 3772</span>&#160;                {</div><div class="line"><a name="l03773"></a><span class="lineno"> 3773</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;iterator out of range&quot;</span>);</div><div class="line"><a name="l03774"></a><span class="lineno"> 3774</span>&#160;                }</div><div class="line"><a name="l03775"></a><span class="lineno"> 3775</span>&#160;</div><div class="line"><a name="l03776"></a><span class="lineno"> 3776</span>&#160;                <span class="keywordflow">if</span> (is_string())</div><div class="line"><a name="l03777"></a><span class="lineno"> 3777</span>&#160;                {</div><div class="line"><a name="l03778"></a><span class="lineno"> 3778</span>&#160;                    <span class="keyword">delete</span> m_value.string;</div><div class="line"><a name="l03779"></a><span class="lineno"> 3779</span>&#160;                    m_value.string = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l03780"></a><span class="lineno"> 3780</span>&#160;                }</div><div class="line"><a name="l03781"></a><span class="lineno"> 3781</span>&#160;</div><div class="line"><a name="l03782"></a><span class="lineno"> 3782</span>&#160;                m_type = value_t::null;</div><div class="line"><a name="l03783"></a><span class="lineno"> 3783</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l03784"></a><span class="lineno"> 3784</span>&#160;            }</div><div class="line"><a name="l03785"></a><span class="lineno"> 3785</span>&#160;</div><div class="line"><a name="l03786"></a><span class="lineno"> 3786</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l03787"></a><span class="lineno"> 3787</span>&#160;            {</div><div class="line"><a name="l03788"></a><span class="lineno"> 3788</span>&#160;                assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03789"></a><span class="lineno"> 3789</span>&#160;                result.m_it.object_iterator = m_value.object-&gt;erase(pos.m_it.object_iterator);</div><div class="line"><a name="l03790"></a><span class="lineno"> 3790</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l03791"></a><span class="lineno"> 3791</span>&#160;            }</div><div class="line"><a name="l03792"></a><span class="lineno"> 3792</span>&#160;</div><div class="line"><a name="l03793"></a><span class="lineno"> 3793</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l03794"></a><span class="lineno"> 3794</span>&#160;            {</div><div class="line"><a name="l03795"></a><span class="lineno"> 3795</span>&#160;                assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03796"></a><span class="lineno"> 3796</span>&#160;                result.m_it.array_iterator = m_value.array-&gt;erase(pos.m_it.array_iterator);</div><div class="line"><a name="l03797"></a><span class="lineno"> 3797</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l03798"></a><span class="lineno"> 3798</span>&#160;            }</div><div class="line"><a name="l03799"></a><span class="lineno"> 3799</span>&#160;</div><div class="line"><a name="l03800"></a><span class="lineno"> 3800</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l03801"></a><span class="lineno"> 3801</span>&#160;            {</div><div class="line"><a name="l03802"></a><span class="lineno"> 3802</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use erase() with &quot;</span> + type_name());</div><div class="line"><a name="l03803"></a><span class="lineno"> 3803</span>&#160;            }</div><div class="line"><a name="l03804"></a><span class="lineno"> 3804</span>&#160;        }</div><div class="line"><a name="l03805"></a><span class="lineno"> 3805</span>&#160;</div><div class="line"><a name="l03806"></a><span class="lineno"> 3806</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l03807"></a><span class="lineno"> 3807</span>&#160;    }</div><div class="line"><a name="l03808"></a><span class="lineno"> 3808</span>&#160;</div><div class="line"><a name="l03855"></a><span class="lineno"> 3855</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>InteratorType, <span class="keyword">typename</span></div><div class="line"><a name="l03856"></a><span class="lineno"> 3856</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l03857"></a><span class="lineno"> 3857</span>&#160;                  std::is_same&lt;InteratorType, typename basic_json_t::iterator&gt;::value or</div><div class="line"><a name="l03858"></a><span class="lineno"> 3858</span>&#160;                  std::is_same&lt;InteratorType, typename basic_json_t::const_iterator&gt;::value</div><div class="line"><a name="l03859"></a><span class="lineno"> 3859</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l03860"></a><span class="lineno"> 3860</span>&#160;              = 0&gt;</div><div class="line"><a name="l03861"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7"> 3861</a></span>&#160;    InteratorType <a class="code" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">erase</a>(InteratorType first, InteratorType last)</div><div class="line"><a name="l03862"></a><span class="lineno"> 3862</span>&#160;    {</div><div class="line"><a name="l03863"></a><span class="lineno"> 3863</span>&#160;        <span class="comment">// make sure iterator fits the current value</span></div><div class="line"><a name="l03864"></a><span class="lineno"> 3864</span>&#160;        <span class="keywordflow">if</span> (<span class="keyword">this</span> != first.m_object or <span class="keyword">this</span> != last.m_object)</div><div class="line"><a name="l03865"></a><span class="lineno"> 3865</span>&#160;        {</div><div class="line"><a name="l03866"></a><span class="lineno"> 3866</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterators do not fit current value&quot;</span>);</div><div class="line"><a name="l03867"></a><span class="lineno"> 3867</span>&#160;        }</div><div class="line"><a name="l03868"></a><span class="lineno"> 3868</span>&#160;</div><div class="line"><a name="l03869"></a><span class="lineno"> 3869</span>&#160;        InteratorType result = end();</div><div class="line"><a name="l03870"></a><span class="lineno"> 3870</span>&#160;</div><div class="line"><a name="l03871"></a><span class="lineno"> 3871</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l03872"></a><span class="lineno"> 3872</span>&#160;        {</div><div class="line"><a name="l03873"></a><span class="lineno"> 3873</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l03874"></a><span class="lineno"> 3874</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l03875"></a><span class="lineno"> 3875</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l03876"></a><span class="lineno"> 3876</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l03877"></a><span class="lineno"> 3877</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l03878"></a><span class="lineno"> 3878</span>&#160;            {</div><div class="line"><a name="l03879"></a><span class="lineno"> 3879</span>&#160;                <span class="keywordflow">if</span> (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())</div><div class="line"><a name="l03880"></a><span class="lineno"> 3880</span>&#160;                {</div><div class="line"><a name="l03881"></a><span class="lineno"> 3881</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;iterators out of range&quot;</span>);</div><div class="line"><a name="l03882"></a><span class="lineno"> 3882</span>&#160;                }</div><div class="line"><a name="l03883"></a><span class="lineno"> 3883</span>&#160;</div><div class="line"><a name="l03884"></a><span class="lineno"> 3884</span>&#160;                <span class="keywordflow">if</span> (is_string())</div><div class="line"><a name="l03885"></a><span class="lineno"> 3885</span>&#160;                {</div><div class="line"><a name="l03886"></a><span class="lineno"> 3886</span>&#160;                    <span class="keyword">delete</span> m_value.string;</div><div class="line"><a name="l03887"></a><span class="lineno"> 3887</span>&#160;                    m_value.string = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l03888"></a><span class="lineno"> 3888</span>&#160;                }</div><div class="line"><a name="l03889"></a><span class="lineno"> 3889</span>&#160;</div><div class="line"><a name="l03890"></a><span class="lineno"> 3890</span>&#160;                m_type = value_t::null;</div><div class="line"><a name="l03891"></a><span class="lineno"> 3891</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l03892"></a><span class="lineno"> 3892</span>&#160;            }</div><div class="line"><a name="l03893"></a><span class="lineno"> 3893</span>&#160;</div><div class="line"><a name="l03894"></a><span class="lineno"> 3894</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l03895"></a><span class="lineno"> 3895</span>&#160;            {</div><div class="line"><a name="l03896"></a><span class="lineno"> 3896</span>&#160;                assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03897"></a><span class="lineno"> 3897</span>&#160;                result.m_it.object_iterator = m_value.object-&gt;erase(first.m_it.object_iterator,</div><div class="line"><a name="l03898"></a><span class="lineno"> 3898</span>&#160;                                              last.m_it.object_iterator);</div><div class="line"><a name="l03899"></a><span class="lineno"> 3899</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l03900"></a><span class="lineno"> 3900</span>&#160;            }</div><div class="line"><a name="l03901"></a><span class="lineno"> 3901</span>&#160;</div><div class="line"><a name="l03902"></a><span class="lineno"> 3902</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l03903"></a><span class="lineno"> 3903</span>&#160;            {</div><div class="line"><a name="l03904"></a><span class="lineno"> 3904</span>&#160;                assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03905"></a><span class="lineno"> 3905</span>&#160;                result.m_it.array_iterator = m_value.array-&gt;erase(first.m_it.array_iterator,</div><div class="line"><a name="l03906"></a><span class="lineno"> 3906</span>&#160;                                             last.m_it.array_iterator);</div><div class="line"><a name="l03907"></a><span class="lineno"> 3907</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l03908"></a><span class="lineno"> 3908</span>&#160;            }</div><div class="line"><a name="l03909"></a><span class="lineno"> 3909</span>&#160;</div><div class="line"><a name="l03910"></a><span class="lineno"> 3910</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l03911"></a><span class="lineno"> 3911</span>&#160;            {</div><div class="line"><a name="l03912"></a><span class="lineno"> 3912</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use erase() with &quot;</span> + type_name());</div><div class="line"><a name="l03913"></a><span class="lineno"> 3913</span>&#160;            }</div><div class="line"><a name="l03914"></a><span class="lineno"> 3914</span>&#160;        }</div><div class="line"><a name="l03915"></a><span class="lineno"> 3915</span>&#160;</div><div class="line"><a name="l03916"></a><span class="lineno"> 3916</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l03917"></a><span class="lineno"> 3917</span>&#160;    }</div><div class="line"><a name="l03918"></a><span class="lineno"> 3918</span>&#160;</div><div class="line"><a name="l03948"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3"> 3948</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> <a class="code" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">erase</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)</div><div class="line"><a name="l03949"></a><span class="lineno"> 3949</span>&#160;    {</div><div class="line"><a name="l03950"></a><span class="lineno"> 3950</span>&#160;        <span class="comment">// this erase only works for objects</span></div><div class="line"><a name="l03951"></a><span class="lineno"> 3951</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03952"></a><span class="lineno"> 3952</span>&#160;        {</div><div class="line"><a name="l03953"></a><span class="lineno"> 3953</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03954"></a><span class="lineno"> 3954</span>&#160;            <span class="keywordflow">return</span> m_value.object-&gt;erase(key);</div><div class="line"><a name="l03955"></a><span class="lineno"> 3955</span>&#160;        }</div><div class="line"><a name="l03956"></a><span class="lineno"> 3956</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03957"></a><span class="lineno"> 3957</span>&#160;        {</div><div class="line"><a name="l03958"></a><span class="lineno"> 3958</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use erase() with &quot;</span> + type_name());</div><div class="line"><a name="l03959"></a><span class="lineno"> 3959</span>&#160;        }</div><div class="line"><a name="l03960"></a><span class="lineno"> 3960</span>&#160;    }</div><div class="line"><a name="l03961"></a><span class="lineno"> 3961</span>&#160;</div><div class="line"><a name="l03986"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5"> 3986</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)</div><div class="line"><a name="l03987"></a><span class="lineno"> 3987</span>&#160;    {</div><div class="line"><a name="l03988"></a><span class="lineno"> 3988</span>&#160;        <span class="comment">// this erase only works for arrays</span></div><div class="line"><a name="l03989"></a><span class="lineno"> 3989</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l03990"></a><span class="lineno"> 3990</span>&#160;        {</div><div class="line"><a name="l03991"></a><span class="lineno"> 3991</span>&#160;            <span class="keywordflow">if</span> (idx &gt;= size())</div><div class="line"><a name="l03992"></a><span class="lineno"> 3992</span>&#160;            {</div><div class="line"><a name="l03993"></a><span class="lineno"> 3993</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &quot;</span> + std::to_string(idx) + <span class="stringliteral">&quot; is out of range&quot;</span>);</div><div class="line"><a name="l03994"></a><span class="lineno"> 3994</span>&#160;            }</div><div class="line"><a name="l03995"></a><span class="lineno"> 3995</span>&#160;</div><div class="line"><a name="l03996"></a><span class="lineno"> 3996</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03997"></a><span class="lineno"> 3997</span>&#160;            m_value.array-&gt;erase(m_value.array-&gt;begin() + <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a><span class="keyword">&gt;</span>(idx));</div><div class="line"><a name="l03998"></a><span class="lineno"> 3998</span>&#160;        }</div><div class="line"><a name="l03999"></a><span class="lineno"> 3999</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l04000"></a><span class="lineno"> 4000</span>&#160;        {</div><div class="line"><a name="l04001"></a><span class="lineno"> 4001</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use erase() with &quot;</span> + type_name());</div><div class="line"><a name="l04002"></a><span class="lineno"> 4002</span>&#160;        }</div><div class="line"><a name="l04003"></a><span class="lineno"> 4003</span>&#160;    }</div><div class="line"><a name="l04004"></a><span class="lineno"> 4004</span>&#160;</div><div class="line"><a name="l04006"></a><span class="lineno"> 4006</span>&#160;</div><div class="line"><a name="l04007"></a><span class="lineno"> 4007</span>&#160;</div><div class="line"><a name="l04009"></a><span class="lineno"> 4009</span>&#160;    <span class="comment">// lookup //</span></div><div class="line"><a name="l04011"></a><span class="lineno"> 4011</span>&#160;<span class="comment"></span></div><div class="line"><a name="l04014"></a><span class="lineno"> 4014</span>&#160;</div><div class="line"><a name="l04033"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f"> 4033</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(<span class="keyword">typename</span> object_t::key_type key)</div><div class="line"><a name="l04034"></a><span class="lineno"> 4034</span>&#160;    {</div><div class="line"><a name="l04035"></a><span class="lineno"> 4035</span>&#160;        <span class="keyword">auto</span> result = end();</div><div class="line"><a name="l04036"></a><span class="lineno"> 4036</span>&#160;</div><div class="line"><a name="l04037"></a><span class="lineno"> 4037</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l04038"></a><span class="lineno"> 4038</span>&#160;        {</div><div class="line"><a name="l04039"></a><span class="lineno"> 4039</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04040"></a><span class="lineno"> 4040</span>&#160;            result.m_it.object_iterator = m_value.object-&gt;find(key);</div><div class="line"><a name="l04041"></a><span class="lineno"> 4041</span>&#160;        }</div><div class="line"><a name="l04042"></a><span class="lineno"> 4042</span>&#160;</div><div class="line"><a name="l04043"></a><span class="lineno"> 4043</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04044"></a><span class="lineno"> 4044</span>&#160;    }</div><div class="line"><a name="l04045"></a><span class="lineno"> 4045</span>&#160;</div><div class="line"><a name="l04050"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e"> 4050</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">find</a>(<span class="keyword">typename</span> object_t::key_type key)<span class="keyword"> const</span></div><div class="line"><a name="l04051"></a><span class="lineno"> 4051</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l04052"></a><span class="lineno"> 4052</span>&#160;        <span class="keyword">auto</span> result = cend();</div><div class="line"><a name="l04053"></a><span class="lineno"> 4053</span>&#160;</div><div class="line"><a name="l04054"></a><span class="lineno"> 4054</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l04055"></a><span class="lineno"> 4055</span>&#160;        {</div><div class="line"><a name="l04056"></a><span class="lineno"> 4056</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04057"></a><span class="lineno"> 4057</span>&#160;            result.m_it.object_iterator = m_value.object-&gt;find(key);</div><div class="line"><a name="l04058"></a><span class="lineno"> 4058</span>&#160;        }</div><div class="line"><a name="l04059"></a><span class="lineno"> 4059</span>&#160;</div><div class="line"><a name="l04060"></a><span class="lineno"> 4060</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04061"></a><span class="lineno"> 4061</span>&#160;    }</div><div class="line"><a name="l04062"></a><span class="lineno"> 4062</span>&#160;</div><div class="line"><a name="l04081"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27"> 4081</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> <a class="code" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">count</a>(<span class="keyword">typename</span> object_t::key_type key)<span class="keyword"> const</span></div><div class="line"><a name="l04082"></a><span class="lineno"> 4082</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l04083"></a><span class="lineno"> 4083</span>&#160;        <span class="comment">// return 0 for all nonobject types</span></div><div class="line"><a name="l04084"></a><span class="lineno"> 4084</span>&#160;        assert(not is_object() or m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04085"></a><span class="lineno"> 4085</span>&#160;        <span class="keywordflow">return</span> is_object() ? m_value.object-&gt;count(key) : 0;</div><div class="line"><a name="l04086"></a><span class="lineno"> 4086</span>&#160;    }</div><div class="line"><a name="l04087"></a><span class="lineno"> 4087</span>&#160;</div><div class="line"><a name="l04089"></a><span class="lineno"> 4089</span>&#160;</div><div class="line"><a name="l04090"></a><span class="lineno"> 4090</span>&#160;</div><div class="line"><a name="l04092"></a><span class="lineno"> 4092</span>&#160;    <span class="comment">// iterators //</span></div><div class="line"><a name="l04094"></a><span class="lineno"> 4094</span>&#160;<span class="comment"></span></div><div class="line"><a name="l04097"></a><span class="lineno"> 4097</span>&#160;</div><div class="line"><a name="l04122"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1"> 4122</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a>() noexcept</div><div class="line"><a name="l04123"></a><span class="lineno"> 4123</span>&#160;    {</div><div class="line"><a name="l04124"></a><span class="lineno"> 4124</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04125"></a><span class="lineno"> 4125</span>&#160;        result.set_begin();</div><div class="line"><a name="l04126"></a><span class="lineno"> 4126</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04127"></a><span class="lineno"> 4127</span>&#160;    }</div><div class="line"><a name="l04128"></a><span class="lineno"> 4128</span>&#160;</div><div class="line"><a name="l04132"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256"> 4132</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">begin</a>() const noexcept</div><div class="line"><a name="l04133"></a><span class="lineno"> 4133</span>&#160;    {</div><div class="line"><a name="l04134"></a><span class="lineno"> 4134</span>&#160;        <span class="keywordflow">return</span> cbegin();</div><div class="line"><a name="l04135"></a><span class="lineno"> 4135</span>&#160;    }</div><div class="line"><a name="l04136"></a><span class="lineno"> 4136</span>&#160;</div><div class="line"><a name="l04162"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb"> 4162</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin</a>() const noexcept</div><div class="line"><a name="l04163"></a><span class="lineno"> 4163</span>&#160;    {</div><div class="line"><a name="l04164"></a><span class="lineno"> 4164</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04165"></a><span class="lineno"> 4165</span>&#160;        result.set_begin();</div><div class="line"><a name="l04166"></a><span class="lineno"> 4166</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04167"></a><span class="lineno"> 4167</span>&#160;    }</div><div class="line"><a name="l04168"></a><span class="lineno"> 4168</span>&#160;</div><div class="line"><a name="l04193"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b"> 4193</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>() noexcept</div><div class="line"><a name="l04194"></a><span class="lineno"> 4194</span>&#160;    {</div><div class="line"><a name="l04195"></a><span class="lineno"> 4195</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04196"></a><span class="lineno"> 4196</span>&#160;        result.set_end();</div><div class="line"><a name="l04197"></a><span class="lineno"> 4197</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04198"></a><span class="lineno"> 4198</span>&#160;    }</div><div class="line"><a name="l04199"></a><span class="lineno"> 4199</span>&#160;</div><div class="line"><a name="l04203"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819"> 4203</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">end</a>() const noexcept</div><div class="line"><a name="l04204"></a><span class="lineno"> 4204</span>&#160;    {</div><div class="line"><a name="l04205"></a><span class="lineno"> 4205</span>&#160;        <span class="keywordflow">return</span> cend();</div><div class="line"><a name="l04206"></a><span class="lineno"> 4206</span>&#160;    }</div><div class="line"><a name="l04207"></a><span class="lineno"> 4207</span>&#160;</div><div class="line"><a name="l04233"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087"> 4233</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend</a>() const noexcept</div><div class="line"><a name="l04234"></a><span class="lineno"> 4234</span>&#160;    {</div><div class="line"><a name="l04235"></a><span class="lineno"> 4235</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04236"></a><span class="lineno"> 4236</span>&#160;        result.set_end();</div><div class="line"><a name="l04237"></a><span class="lineno"> 4237</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04238"></a><span class="lineno"> 4238</span>&#160;    }</div><div class="line"><a name="l04239"></a><span class="lineno"> 4239</span>&#160;</div><div class="line"><a name="l04263"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8"> 4263</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin</a>() noexcept</div><div class="line"><a name="l04264"></a><span class="lineno"> 4264</span>&#160;    {</div><div class="line"><a name="l04265"></a><span class="lineno"> 4265</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a>(end());</div><div class="line"><a name="l04266"></a><span class="lineno"> 4266</span>&#160;    }</div><div class="line"><a name="l04267"></a><span class="lineno"> 4267</span>&#160;</div><div class="line"><a name="l04271"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8"> 4271</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">rbegin</a>() const noexcept</div><div class="line"><a name="l04272"></a><span class="lineno"> 4272</span>&#160;    {</div><div class="line"><a name="l04273"></a><span class="lineno"> 4273</span>&#160;        <span class="keywordflow">return</span> crbegin();</div><div class="line"><a name="l04274"></a><span class="lineno"> 4274</span>&#160;    }</div><div class="line"><a name="l04275"></a><span class="lineno"> 4275</span>&#160;</div><div class="line"><a name="l04300"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707"> 4300</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend</a>() noexcept</div><div class="line"><a name="l04301"></a><span class="lineno"> 4301</span>&#160;    {</div><div class="line"><a name="l04302"></a><span class="lineno"> 4302</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a>(begin());</div><div class="line"><a name="l04303"></a><span class="lineno"> 4303</span>&#160;    }</div><div class="line"><a name="l04304"></a><span class="lineno"> 4304</span>&#160;</div><div class="line"><a name="l04308"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b"> 4308</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">rend</a>() const noexcept</div><div class="line"><a name="l04309"></a><span class="lineno"> 4309</span>&#160;    {</div><div class="line"><a name="l04310"></a><span class="lineno"> 4310</span>&#160;        <span class="keywordflow">return</span> crend();</div><div class="line"><a name="l04311"></a><span class="lineno"> 4311</span>&#160;    }</div><div class="line"><a name="l04312"></a><span class="lineno"> 4312</span>&#160;</div><div class="line"><a name="l04337"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3"> 4337</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin</a>() const noexcept</div><div class="line"><a name="l04338"></a><span class="lineno"> 4338</span>&#160;    {</div><div class="line"><a name="l04339"></a><span class="lineno"> 4339</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a>(cend());</div><div class="line"><a name="l04340"></a><span class="lineno"> 4340</span>&#160;    }</div><div class="line"><a name="l04341"></a><span class="lineno"> 4341</span>&#160;</div><div class="line"><a name="l04366"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f"> 4366</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend</a>() const noexcept</div><div class="line"><a name="l04367"></a><span class="lineno"> 4367</span>&#160;    {</div><div class="line"><a name="l04368"></a><span class="lineno"> 4368</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a>(cbegin());</div><div class="line"><a name="l04369"></a><span class="lineno"> 4369</span>&#160;    }</div><div class="line"><a name="l04370"></a><span class="lineno"> 4370</span>&#160;</div><div class="line"><a name="l04371"></a><span class="lineno"> 4371</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l04372"></a><span class="lineno"> 4372</span>&#160;    <span class="comment">// forward declaration</span></div><div class="line"><a name="l04373"></a><span class="lineno"> 4373</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> IteratorType&gt; <span class="keyword">class </span>iteration_proxy;</div><div class="line"><a name="l04374"></a><span class="lineno"> 4374</span>&#160;</div><div class="line"><a name="l04375"></a><span class="lineno"> 4375</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l04387"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5"> 4387</a></span>&#160;    <span class="keyword">static</span> iteration_proxy&lt;iterator&gt; <a class="code" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">iterator_wrapper</a>(<a class="code" href="classnlohmann_1_1basic__json.html">reference</a> cont)</div><div class="line"><a name="l04388"></a><span class="lineno"> 4388</span>&#160;    {</div><div class="line"><a name="l04389"></a><span class="lineno"> 4389</span>&#160;        <span class="keywordflow">return</span> iteration_proxy&lt;iterator&gt;(cont);</div><div class="line"><a name="l04390"></a><span class="lineno"> 4390</span>&#160;    }</div><div class="line"><a name="l04391"></a><span class="lineno"> 4391</span>&#160;</div><div class="line"><a name="l04395"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5"> 4395</a></span>&#160;    <span class="keyword">static</span> iteration_proxy&lt;const_iterator&gt; <a class="code" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">iterator_wrapper</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> cont)</div><div class="line"><a name="l04396"></a><span class="lineno"> 4396</span>&#160;    {</div><div class="line"><a name="l04397"></a><span class="lineno"> 4397</span>&#160;        <span class="keywordflow">return</span> iteration_proxy&lt;const_iterator&gt;(cont);</div><div class="line"><a name="l04398"></a><span class="lineno"> 4398</span>&#160;    }</div><div class="line"><a name="l04399"></a><span class="lineno"> 4399</span>&#160;</div><div class="line"><a name="l04401"></a><span class="lineno"> 4401</span>&#160;</div><div class="line"><a name="l04402"></a><span class="lineno"> 4402</span>&#160;</div><div class="line"><a name="l04404"></a><span class="lineno"> 4404</span>&#160;    <span class="comment">// capacity //</span></div><div class="line"><a name="l04406"></a><span class="lineno"> 4406</span>&#160;<span class="comment"></span></div><div class="line"><a name="l04409"></a><span class="lineno"> 4409</span>&#160;</div><div class="line"><a name="l04443"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859"> 4443</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">empty</a>() const noexcept</div><div class="line"><a name="l04444"></a><span class="lineno"> 4444</span>&#160;    {</div><div class="line"><a name="l04445"></a><span class="lineno"> 4445</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04446"></a><span class="lineno"> 4446</span>&#160;        {</div><div class="line"><a name="l04447"></a><span class="lineno"> 4447</span>&#160;            <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l04448"></a><span class="lineno"> 4448</span>&#160;            {</div><div class="line"><a name="l04449"></a><span class="lineno"> 4449</span>&#160;                <span class="comment">// null values are empty</span></div><div class="line"><a name="l04450"></a><span class="lineno"> 4450</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l04451"></a><span class="lineno"> 4451</span>&#160;            }</div><div class="line"><a name="l04452"></a><span class="lineno"> 4452</span>&#160;</div><div class="line"><a name="l04453"></a><span class="lineno"> 4453</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04454"></a><span class="lineno"> 4454</span>&#160;            {</div><div class="line"><a name="l04455"></a><span class="lineno"> 4455</span>&#160;                assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04456"></a><span class="lineno"> 4456</span>&#160;                <span class="keywordflow">return</span> m_value.array-&gt;empty();</div><div class="line"><a name="l04457"></a><span class="lineno"> 4457</span>&#160;            }</div><div class="line"><a name="l04458"></a><span class="lineno"> 4458</span>&#160;</div><div class="line"><a name="l04459"></a><span class="lineno"> 4459</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04460"></a><span class="lineno"> 4460</span>&#160;            {</div><div class="line"><a name="l04461"></a><span class="lineno"> 4461</span>&#160;                assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04462"></a><span class="lineno"> 4462</span>&#160;                <span class="keywordflow">return</span> m_value.object-&gt;empty();</div><div class="line"><a name="l04463"></a><span class="lineno"> 4463</span>&#160;            }</div><div class="line"><a name="l04464"></a><span class="lineno"> 4464</span>&#160;</div><div class="line"><a name="l04465"></a><span class="lineno"> 4465</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04466"></a><span class="lineno"> 4466</span>&#160;            {</div><div class="line"><a name="l04467"></a><span class="lineno"> 4467</span>&#160;                <span class="comment">// all other types are nonempty</span></div><div class="line"><a name="l04468"></a><span class="lineno"> 4468</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l04469"></a><span class="lineno"> 4469</span>&#160;            }</div><div class="line"><a name="l04470"></a><span class="lineno"> 4470</span>&#160;        }</div><div class="line"><a name="l04471"></a><span class="lineno"> 4471</span>&#160;    }</div><div class="line"><a name="l04472"></a><span class="lineno"> 4472</span>&#160;</div><div class="line"><a name="l04507"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49"> 4507</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> <a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>() const noexcept</div><div class="line"><a name="l04508"></a><span class="lineno"> 4508</span>&#160;    {</div><div class="line"><a name="l04509"></a><span class="lineno"> 4509</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04510"></a><span class="lineno"> 4510</span>&#160;        {</div><div class="line"><a name="l04511"></a><span class="lineno"> 4511</span>&#160;            <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l04512"></a><span class="lineno"> 4512</span>&#160;            {</div><div class="line"><a name="l04513"></a><span class="lineno"> 4513</span>&#160;                <span class="comment">// null values are empty</span></div><div class="line"><a name="l04514"></a><span class="lineno"> 4514</span>&#160;                <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l04515"></a><span class="lineno"> 4515</span>&#160;            }</div><div class="line"><a name="l04516"></a><span class="lineno"> 4516</span>&#160;</div><div class="line"><a name="l04517"></a><span class="lineno"> 4517</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04518"></a><span class="lineno"> 4518</span>&#160;            {</div><div class="line"><a name="l04519"></a><span class="lineno"> 4519</span>&#160;                assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04520"></a><span class="lineno"> 4520</span>&#160;                <span class="keywordflow">return</span> m_value.array-&gt;size();</div><div class="line"><a name="l04521"></a><span class="lineno"> 4521</span>&#160;            }</div><div class="line"><a name="l04522"></a><span class="lineno"> 4522</span>&#160;</div><div class="line"><a name="l04523"></a><span class="lineno"> 4523</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04524"></a><span class="lineno"> 4524</span>&#160;            {</div><div class="line"><a name="l04525"></a><span class="lineno"> 4525</span>&#160;                assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04526"></a><span class="lineno"> 4526</span>&#160;                <span class="keywordflow">return</span> m_value.object-&gt;size();</div><div class="line"><a name="l04527"></a><span class="lineno"> 4527</span>&#160;            }</div><div class="line"><a name="l04528"></a><span class="lineno"> 4528</span>&#160;</div><div class="line"><a name="l04529"></a><span class="lineno"> 4529</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04530"></a><span class="lineno"> 4530</span>&#160;            {</div><div class="line"><a name="l04531"></a><span class="lineno"> 4531</span>&#160;                <span class="comment">// all other types have size 1</span></div><div class="line"><a name="l04532"></a><span class="lineno"> 4532</span>&#160;                <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l04533"></a><span class="lineno"> 4533</span>&#160;            }</div><div class="line"><a name="l04534"></a><span class="lineno"> 4534</span>&#160;        }</div><div class="line"><a name="l04535"></a><span class="lineno"> 4535</span>&#160;    }</div><div class="line"><a name="l04536"></a><span class="lineno"> 4536</span>&#160;</div><div class="line"><a name="l04573"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a"> 4573</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> <a class="code" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">max_size</a>() const noexcept</div><div class="line"><a name="l04574"></a><span class="lineno"> 4574</span>&#160;    {</div><div class="line"><a name="l04575"></a><span class="lineno"> 4575</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04576"></a><span class="lineno"> 4576</span>&#160;        {</div><div class="line"><a name="l04577"></a><span class="lineno"> 4577</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04578"></a><span class="lineno"> 4578</span>&#160;            {</div><div class="line"><a name="l04579"></a><span class="lineno"> 4579</span>&#160;                assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04580"></a><span class="lineno"> 4580</span>&#160;                <span class="keywordflow">return</span> m_value.array-&gt;max_size();</div><div class="line"><a name="l04581"></a><span class="lineno"> 4581</span>&#160;            }</div><div class="line"><a name="l04582"></a><span class="lineno"> 4582</span>&#160;</div><div class="line"><a name="l04583"></a><span class="lineno"> 4583</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04584"></a><span class="lineno"> 4584</span>&#160;            {</div><div class="line"><a name="l04585"></a><span class="lineno"> 4585</span>&#160;                assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04586"></a><span class="lineno"> 4586</span>&#160;                <span class="keywordflow">return</span> m_value.object-&gt;max_size();</div><div class="line"><a name="l04587"></a><span class="lineno"> 4587</span>&#160;            }</div><div class="line"><a name="l04588"></a><span class="lineno"> 4588</span>&#160;</div><div class="line"><a name="l04589"></a><span class="lineno"> 4589</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04590"></a><span class="lineno"> 4590</span>&#160;            {</div><div class="line"><a name="l04591"></a><span class="lineno"> 4591</span>&#160;                <span class="comment">// all other types have max_size() == size()</span></div><div class="line"><a name="l04592"></a><span class="lineno"> 4592</span>&#160;                <span class="keywordflow">return</span> size();</div><div class="line"><a name="l04593"></a><span class="lineno"> 4593</span>&#160;            }</div><div class="line"><a name="l04594"></a><span class="lineno"> 4594</span>&#160;        }</div><div class="line"><a name="l04595"></a><span class="lineno"> 4595</span>&#160;    }</div><div class="line"><a name="l04596"></a><span class="lineno"> 4596</span>&#160;</div><div class="line"><a name="l04598"></a><span class="lineno"> 4598</span>&#160;</div><div class="line"><a name="l04599"></a><span class="lineno"> 4599</span>&#160;</div><div class="line"><a name="l04601"></a><span class="lineno"> 4601</span>&#160;    <span class="comment">// modifiers //</span></div><div class="line"><a name="l04603"></a><span class="lineno"> 4603</span>&#160;<span class="comment"></span></div><div class="line"><a name="l04606"></a><span class="lineno"> 4606</span>&#160;</div><div class="line"><a name="l04632"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f"> 4632</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">clear</a>() noexcept</div><div class="line"><a name="l04633"></a><span class="lineno"> 4633</span>&#160;    {</div><div class="line"><a name="l04634"></a><span class="lineno"> 4634</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04635"></a><span class="lineno"> 4635</span>&#160;        {</div><div class="line"><a name="l04636"></a><span class="lineno"> 4636</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l04637"></a><span class="lineno"> 4637</span>&#160;            {</div><div class="line"><a name="l04638"></a><span class="lineno"> 4638</span>&#160;                m_value.number_integer = 0;</div><div class="line"><a name="l04639"></a><span class="lineno"> 4639</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04640"></a><span class="lineno"> 4640</span>&#160;            }</div><div class="line"><a name="l04641"></a><span class="lineno"> 4641</span>&#160;</div><div class="line"><a name="l04642"></a><span class="lineno"> 4642</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l04643"></a><span class="lineno"> 4643</span>&#160;            {</div><div class="line"><a name="l04644"></a><span class="lineno"> 4644</span>&#160;                m_value.number_unsigned = 0;</div><div class="line"><a name="l04645"></a><span class="lineno"> 4645</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04646"></a><span class="lineno"> 4646</span>&#160;            }</div><div class="line"><a name="l04647"></a><span class="lineno"> 4647</span>&#160;</div><div class="line"><a name="l04648"></a><span class="lineno"> 4648</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l04649"></a><span class="lineno"> 4649</span>&#160;            {</div><div class="line"><a name="l04650"></a><span class="lineno"> 4650</span>&#160;                m_value.number_float = 0.0;</div><div class="line"><a name="l04651"></a><span class="lineno"> 4651</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04652"></a><span class="lineno"> 4652</span>&#160;            }</div><div class="line"><a name="l04653"></a><span class="lineno"> 4653</span>&#160;</div><div class="line"><a name="l04654"></a><span class="lineno"> 4654</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l04655"></a><span class="lineno"> 4655</span>&#160;            {</div><div class="line"><a name="l04656"></a><span class="lineno"> 4656</span>&#160;                m_value.boolean = <span class="keyword">false</span>;</div><div class="line"><a name="l04657"></a><span class="lineno"> 4657</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04658"></a><span class="lineno"> 4658</span>&#160;            }</div><div class="line"><a name="l04659"></a><span class="lineno"> 4659</span>&#160;</div><div class="line"><a name="l04660"></a><span class="lineno"> 4660</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l04661"></a><span class="lineno"> 4661</span>&#160;            {</div><div class="line"><a name="l04662"></a><span class="lineno"> 4662</span>&#160;                assert(m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04663"></a><span class="lineno"> 4663</span>&#160;                m_value.string-&gt;clear();</div><div class="line"><a name="l04664"></a><span class="lineno"> 4664</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04665"></a><span class="lineno"> 4665</span>&#160;            }</div><div class="line"><a name="l04666"></a><span class="lineno"> 4666</span>&#160;</div><div class="line"><a name="l04667"></a><span class="lineno"> 4667</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04668"></a><span class="lineno"> 4668</span>&#160;            {</div><div class="line"><a name="l04669"></a><span class="lineno"> 4669</span>&#160;                assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04670"></a><span class="lineno"> 4670</span>&#160;                m_value.array-&gt;clear();</div><div class="line"><a name="l04671"></a><span class="lineno"> 4671</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04672"></a><span class="lineno"> 4672</span>&#160;            }</div><div class="line"><a name="l04673"></a><span class="lineno"> 4673</span>&#160;</div><div class="line"><a name="l04674"></a><span class="lineno"> 4674</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04675"></a><span class="lineno"> 4675</span>&#160;            {</div><div class="line"><a name="l04676"></a><span class="lineno"> 4676</span>&#160;                assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04677"></a><span class="lineno"> 4677</span>&#160;                m_value.object-&gt;clear();</div><div class="line"><a name="l04678"></a><span class="lineno"> 4678</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04679"></a><span class="lineno"> 4679</span>&#160;            }</div><div class="line"><a name="l04680"></a><span class="lineno"> 4680</span>&#160;</div><div class="line"><a name="l04681"></a><span class="lineno"> 4681</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04682"></a><span class="lineno"> 4682</span>&#160;            {</div><div class="line"><a name="l04683"></a><span class="lineno"> 4683</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04684"></a><span class="lineno"> 4684</span>&#160;            }</div><div class="line"><a name="l04685"></a><span class="lineno"> 4685</span>&#160;        }</div><div class="line"><a name="l04686"></a><span class="lineno"> 4686</span>&#160;    }</div><div class="line"><a name="l04687"></a><span class="lineno"> 4687</span>&#160;</div><div class="line"><a name="l04708"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f"> 4708</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a>(basic_json&amp;&amp; val)</div><div class="line"><a name="l04709"></a><span class="lineno"> 4709</span>&#160;    {</div><div class="line"><a name="l04710"></a><span class="lineno"> 4710</span>&#160;        <span class="comment">// push_back only works for null objects or arrays</span></div><div class="line"><a name="l04711"></a><span class="lineno"> 4711</span>&#160;        <span class="keywordflow">if</span> (not(is_null() or is_array()))</div><div class="line"><a name="l04712"></a><span class="lineno"> 4712</span>&#160;        {</div><div class="line"><a name="l04713"></a><span class="lineno"> 4713</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use push_back() with &quot;</span> + type_name());</div><div class="line"><a name="l04714"></a><span class="lineno"> 4714</span>&#160;        }</div><div class="line"><a name="l04715"></a><span class="lineno"> 4715</span>&#160;</div><div class="line"><a name="l04716"></a><span class="lineno"> 4716</span>&#160;        <span class="comment">// transform null object into an array</span></div><div class="line"><a name="l04717"></a><span class="lineno"> 4717</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l04718"></a><span class="lineno"> 4718</span>&#160;        {</div><div class="line"><a name="l04719"></a><span class="lineno"> 4719</span>&#160;            m_type = value_t::array;</div><div class="line"><a name="l04720"></a><span class="lineno"> 4720</span>&#160;            m_value = value_t::array;</div><div class="line"><a name="l04721"></a><span class="lineno"> 4721</span>&#160;        }</div><div class="line"><a name="l04722"></a><span class="lineno"> 4722</span>&#160;</div><div class="line"><a name="l04723"></a><span class="lineno"> 4723</span>&#160;        <span class="comment">// add element to array (move semantics)</span></div><div class="line"><a name="l04724"></a><span class="lineno"> 4724</span>&#160;        assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04725"></a><span class="lineno"> 4725</span>&#160;        m_value.array-&gt;push_back(std::move(val));</div><div class="line"><a name="l04726"></a><span class="lineno"> 4726</span>&#160;        <span class="comment">// invalidate object</span></div><div class="line"><a name="l04727"></a><span class="lineno"> 4727</span>&#160;        val.m_type = value_t::null;</div><div class="line"><a name="l04728"></a><span class="lineno"> 4728</span>&#160;    }</div><div class="line"><a name="l04729"></a><span class="lineno"> 4729</span>&#160;</div><div class="line"><a name="l04734"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41"> 4734</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">operator+=</a>(basic_json&amp;&amp; val)</div><div class="line"><a name="l04735"></a><span class="lineno"> 4735</span>&#160;    {</div><div class="line"><a name="l04736"></a><span class="lineno"> 4736</span>&#160;        push_back(std::move(val));</div><div class="line"><a name="l04737"></a><span class="lineno"> 4737</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l04738"></a><span class="lineno"> 4738</span>&#160;    }</div><div class="line"><a name="l04739"></a><span class="lineno"> 4739</span>&#160;</div><div class="line"><a name="l04744"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba"> 4744</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">push_back</a>(<span class="keyword">const</span> basic_json&amp; val)</div><div class="line"><a name="l04745"></a><span class="lineno"> 4745</span>&#160;    {</div><div class="line"><a name="l04746"></a><span class="lineno"> 4746</span>&#160;        <span class="comment">// push_back only works for null objects or arrays</span></div><div class="line"><a name="l04747"></a><span class="lineno"> 4747</span>&#160;        <span class="keywordflow">if</span> (not(is_null() or is_array()))</div><div class="line"><a name="l04748"></a><span class="lineno"> 4748</span>&#160;        {</div><div class="line"><a name="l04749"></a><span class="lineno"> 4749</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use push_back() with &quot;</span> + type_name());</div><div class="line"><a name="l04750"></a><span class="lineno"> 4750</span>&#160;        }</div><div class="line"><a name="l04751"></a><span class="lineno"> 4751</span>&#160;</div><div class="line"><a name="l04752"></a><span class="lineno"> 4752</span>&#160;        <span class="comment">// transform null object into an array</span></div><div class="line"><a name="l04753"></a><span class="lineno"> 4753</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l04754"></a><span class="lineno"> 4754</span>&#160;        {</div><div class="line"><a name="l04755"></a><span class="lineno"> 4755</span>&#160;            m_type = value_t::array;</div><div class="line"><a name="l04756"></a><span class="lineno"> 4756</span>&#160;            m_value = value_t::array;</div><div class="line"><a name="l04757"></a><span class="lineno"> 4757</span>&#160;        }</div><div class="line"><a name="l04758"></a><span class="lineno"> 4758</span>&#160;</div><div class="line"><a name="l04759"></a><span class="lineno"> 4759</span>&#160;        <span class="comment">// add element to array</span></div><div class="line"><a name="l04760"></a><span class="lineno"> 4760</span>&#160;        assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04761"></a><span class="lineno"> 4761</span>&#160;        m_value.array-&gt;push_back(val);</div><div class="line"><a name="l04762"></a><span class="lineno"> 4762</span>&#160;    }</div><div class="line"><a name="l04763"></a><span class="lineno"> 4763</span>&#160;</div><div class="line"><a name="l04768"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc"> 4768</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">operator+=</a>(<span class="keyword">const</span> basic_json&amp; val)</div><div class="line"><a name="l04769"></a><span class="lineno"> 4769</span>&#160;    {</div><div class="line"><a name="l04770"></a><span class="lineno"> 4770</span>&#160;        push_back(val);</div><div class="line"><a name="l04771"></a><span class="lineno"> 4771</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l04772"></a><span class="lineno"> 4772</span>&#160;    }</div><div class="line"><a name="l04773"></a><span class="lineno"> 4773</span>&#160;</div><div class="line"><a name="l04794"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5"> 4794</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">push_back</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::value_type&amp; val)</div><div class="line"><a name="l04795"></a><span class="lineno"> 4795</span>&#160;    {</div><div class="line"><a name="l04796"></a><span class="lineno"> 4796</span>&#160;        <span class="comment">// push_back only works for null objects or objects</span></div><div class="line"><a name="l04797"></a><span class="lineno"> 4797</span>&#160;        <span class="keywordflow">if</span> (not(is_null() or is_object()))</div><div class="line"><a name="l04798"></a><span class="lineno"> 4798</span>&#160;        {</div><div class="line"><a name="l04799"></a><span class="lineno"> 4799</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use push_back() with &quot;</span> + type_name());</div><div class="line"><a name="l04800"></a><span class="lineno"> 4800</span>&#160;        }</div><div class="line"><a name="l04801"></a><span class="lineno"> 4801</span>&#160;</div><div class="line"><a name="l04802"></a><span class="lineno"> 4802</span>&#160;        <span class="comment">// transform null object into an object</span></div><div class="line"><a name="l04803"></a><span class="lineno"> 4803</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l04804"></a><span class="lineno"> 4804</span>&#160;        {</div><div class="line"><a name="l04805"></a><span class="lineno"> 4805</span>&#160;            m_type = value_t::object;</div><div class="line"><a name="l04806"></a><span class="lineno"> 4806</span>&#160;            m_value = value_t::object;</div><div class="line"><a name="l04807"></a><span class="lineno"> 4807</span>&#160;        }</div><div class="line"><a name="l04808"></a><span class="lineno"> 4808</span>&#160;</div><div class="line"><a name="l04809"></a><span class="lineno"> 4809</span>&#160;        <span class="comment">// add element to array</span></div><div class="line"><a name="l04810"></a><span class="lineno"> 4810</span>&#160;        assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04811"></a><span class="lineno"> 4811</span>&#160;        m_value.object-&gt;insert(val);</div><div class="line"><a name="l04812"></a><span class="lineno"> 4812</span>&#160;    }</div><div class="line"><a name="l04813"></a><span class="lineno"> 4813</span>&#160;</div><div class="line"><a name="l04818"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6"> 4818</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">operator+=</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::value_type&amp; val)</div><div class="line"><a name="l04819"></a><span class="lineno"> 4819</span>&#160;    {</div><div class="line"><a name="l04820"></a><span class="lineno"> 4820</span>&#160;        push_back(val);</div><div class="line"><a name="l04821"></a><span class="lineno"> 4821</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l04822"></a><span class="lineno"> 4822</span>&#160;    }</div><div class="line"><a name="l04823"></a><span class="lineno"> 4823</span>&#160;</div><div class="line"><a name="l04849"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43"> 4849</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">push_back</a>(std::initializer_list&lt;basic_json&gt; init)</div><div class="line"><a name="l04850"></a><span class="lineno"> 4850</span>&#160;    {</div><div class="line"><a name="l04851"></a><span class="lineno"> 4851</span>&#160;        <span class="keywordflow">if</span> (is_object() and init.size() == 2 and init.begin()-&gt;is_string())</div><div class="line"><a name="l04852"></a><span class="lineno"> 4852</span>&#160;        {</div><div class="line"><a name="l04853"></a><span class="lineno"> 4853</span>&#160;            <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> key = *init.begin();</div><div class="line"><a name="l04854"></a><span class="lineno"> 4854</span>&#160;            push_back(<span class="keyword">typename</span> object_t::value_type(key, *(init.begin() + 1)));</div><div class="line"><a name="l04855"></a><span class="lineno"> 4855</span>&#160;        }</div><div class="line"><a name="l04856"></a><span class="lineno"> 4856</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l04857"></a><span class="lineno"> 4857</span>&#160;        {</div><div class="line"><a name="l04858"></a><span class="lineno"> 4858</span>&#160;            push_back(basic_json(init));</div><div class="line"><a name="l04859"></a><span class="lineno"> 4859</span>&#160;        }</div><div class="line"><a name="l04860"></a><span class="lineno"> 4860</span>&#160;    }</div><div class="line"><a name="l04861"></a><span class="lineno"> 4861</span>&#160;</div><div class="line"><a name="l04866"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2"> 4866</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">operator+=</a>(std::initializer_list&lt;basic_json&gt; init)</div><div class="line"><a name="l04867"></a><span class="lineno"> 4867</span>&#160;    {</div><div class="line"><a name="l04868"></a><span class="lineno"> 4868</span>&#160;        push_back(init);</div><div class="line"><a name="l04869"></a><span class="lineno"> 4869</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l04870"></a><span class="lineno"> 4870</span>&#160;    }</div><div class="line"><a name="l04871"></a><span class="lineno"> 4871</span>&#160;</div><div class="line"><a name="l04894"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b"> 4894</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, <span class="keyword">const</span> basic_json&amp; val)</div><div class="line"><a name="l04895"></a><span class="lineno"> 4895</span>&#160;    {</div><div class="line"><a name="l04896"></a><span class="lineno"> 4896</span>&#160;        <span class="comment">// insert only works for arrays</span></div><div class="line"><a name="l04897"></a><span class="lineno"> 4897</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l04898"></a><span class="lineno"> 4898</span>&#160;        {</div><div class="line"><a name="l04899"></a><span class="lineno"> 4899</span>&#160;            <span class="comment">// check if iterator pos fits to this JSON value</span></div><div class="line"><a name="l04900"></a><span class="lineno"> 4900</span>&#160;            <span class="keywordflow">if</span> (pos.m_object != <span class="keyword">this</span>)</div><div class="line"><a name="l04901"></a><span class="lineno"> 4901</span>&#160;            {</div><div class="line"><a name="l04902"></a><span class="lineno"> 4902</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l04903"></a><span class="lineno"> 4903</span>&#160;            }</div><div class="line"><a name="l04904"></a><span class="lineno"> 4904</span>&#160;</div><div class="line"><a name="l04905"></a><span class="lineno"> 4905</span>&#160;            <span class="comment">// insert to array and return iterator</span></div><div class="line"><a name="l04906"></a><span class="lineno"> 4906</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04907"></a><span class="lineno"> 4907</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04908"></a><span class="lineno"> 4908</span>&#160;            result.m_it.array_iterator = m_value.array-&gt;insert(pos.m_it.array_iterator, val);</div><div class="line"><a name="l04909"></a><span class="lineno"> 4909</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04910"></a><span class="lineno"> 4910</span>&#160;        }</div><div class="line"><a name="l04911"></a><span class="lineno"> 4911</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l04912"></a><span class="lineno"> 4912</span>&#160;        {</div><div class="line"><a name="l04913"></a><span class="lineno"> 4913</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use insert() with &quot;</span> + type_name());</div><div class="line"><a name="l04914"></a><span class="lineno"> 4914</span>&#160;        }</div><div class="line"><a name="l04915"></a><span class="lineno"> 4915</span>&#160;    }</div><div class="line"><a name="l04916"></a><span class="lineno"> 4916</span>&#160;</div><div class="line"><a name="l04921"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c"> 4921</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, basic_json&amp;&amp; val)</div><div class="line"><a name="l04922"></a><span class="lineno"> 4922</span>&#160;    {</div><div class="line"><a name="l04923"></a><span class="lineno"> 4923</span>&#160;        <span class="keywordflow">return</span> insert(pos, val);</div><div class="line"><a name="l04924"></a><span class="lineno"> 4924</span>&#160;    }</div><div class="line"><a name="l04925"></a><span class="lineno"> 4925</span>&#160;</div><div class="line"><a name="l04950"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6"> 4950</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> cnt, <span class="keyword">const</span> basic_json&amp; val)</div><div class="line"><a name="l04951"></a><span class="lineno"> 4951</span>&#160;    {</div><div class="line"><a name="l04952"></a><span class="lineno"> 4952</span>&#160;        <span class="comment">// insert only works for arrays</span></div><div class="line"><a name="l04953"></a><span class="lineno"> 4953</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l04954"></a><span class="lineno"> 4954</span>&#160;        {</div><div class="line"><a name="l04955"></a><span class="lineno"> 4955</span>&#160;            <span class="comment">// check if iterator pos fits to this JSON value</span></div><div class="line"><a name="l04956"></a><span class="lineno"> 4956</span>&#160;            <span class="keywordflow">if</span> (pos.m_object != <span class="keyword">this</span>)</div><div class="line"><a name="l04957"></a><span class="lineno"> 4957</span>&#160;            {</div><div class="line"><a name="l04958"></a><span class="lineno"> 4958</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l04959"></a><span class="lineno"> 4959</span>&#160;            }</div><div class="line"><a name="l04960"></a><span class="lineno"> 4960</span>&#160;</div><div class="line"><a name="l04961"></a><span class="lineno"> 4961</span>&#160;            <span class="comment">// insert to array and return iterator</span></div><div class="line"><a name="l04962"></a><span class="lineno"> 4962</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04963"></a><span class="lineno"> 4963</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04964"></a><span class="lineno"> 4964</span>&#160;            result.m_it.array_iterator = m_value.array-&gt;insert(pos.m_it.array_iterator, cnt, val);</div><div class="line"><a name="l04965"></a><span class="lineno"> 4965</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04966"></a><span class="lineno"> 4966</span>&#160;        }</div><div class="line"><a name="l04967"></a><span class="lineno"> 4967</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l04968"></a><span class="lineno"> 4968</span>&#160;        {</div><div class="line"><a name="l04969"></a><span class="lineno"> 4969</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use insert() with &quot;</span> + type_name());</div><div class="line"><a name="l04970"></a><span class="lineno"> 4970</span>&#160;        }</div><div class="line"><a name="l04971"></a><span class="lineno"> 4971</span>&#160;    }</div><div class="line"><a name="l04972"></a><span class="lineno"> 4972</span>&#160;</div><div class="line"><a name="l05003"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6"> 5003</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> first, <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> last)</div><div class="line"><a name="l05004"></a><span class="lineno"> 5004</span>&#160;    {</div><div class="line"><a name="l05005"></a><span class="lineno"> 5005</span>&#160;        <span class="comment">// insert only works for arrays</span></div><div class="line"><a name="l05006"></a><span class="lineno"> 5006</span>&#160;        <span class="keywordflow">if</span> (not is_array())</div><div class="line"><a name="l05007"></a><span class="lineno"> 5007</span>&#160;        {</div><div class="line"><a name="l05008"></a><span class="lineno"> 5008</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use insert() with &quot;</span> + type_name());</div><div class="line"><a name="l05009"></a><span class="lineno"> 5009</span>&#160;        }</div><div class="line"><a name="l05010"></a><span class="lineno"> 5010</span>&#160;</div><div class="line"><a name="l05011"></a><span class="lineno"> 5011</span>&#160;        <span class="comment">// check if iterator pos fits to this JSON value</span></div><div class="line"><a name="l05012"></a><span class="lineno"> 5012</span>&#160;        <span class="keywordflow">if</span> (pos.m_object != <span class="keyword">this</span>)</div><div class="line"><a name="l05013"></a><span class="lineno"> 5013</span>&#160;        {</div><div class="line"><a name="l05014"></a><span class="lineno"> 5014</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l05015"></a><span class="lineno"> 5015</span>&#160;        }</div><div class="line"><a name="l05016"></a><span class="lineno"> 5016</span>&#160;</div><div class="line"><a name="l05017"></a><span class="lineno"> 5017</span>&#160;        <span class="comment">// check if range iterators belong to the same JSON object</span></div><div class="line"><a name="l05018"></a><span class="lineno"> 5018</span>&#160;        <span class="keywordflow">if</span> (first.m_object != last.m_object)</div><div class="line"><a name="l05019"></a><span class="lineno"> 5019</span>&#160;        {</div><div class="line"><a name="l05020"></a><span class="lineno"> 5020</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterators do not fit&quot;</span>);</div><div class="line"><a name="l05021"></a><span class="lineno"> 5021</span>&#160;        }</div><div class="line"><a name="l05022"></a><span class="lineno"> 5022</span>&#160;</div><div class="line"><a name="l05023"></a><span class="lineno"> 5023</span>&#160;        <span class="keywordflow">if</span> (first.m_object == <span class="keyword">this</span> or last.m_object == <span class="keyword">this</span>)</div><div class="line"><a name="l05024"></a><span class="lineno"> 5024</span>&#160;        {</div><div class="line"><a name="l05025"></a><span class="lineno"> 5025</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;passed iterators may not belong to container&quot;</span>);</div><div class="line"><a name="l05026"></a><span class="lineno"> 5026</span>&#160;        }</div><div class="line"><a name="l05027"></a><span class="lineno"> 5027</span>&#160;</div><div class="line"><a name="l05028"></a><span class="lineno"> 5028</span>&#160;        <span class="comment">// insert to array and return iterator</span></div><div class="line"><a name="l05029"></a><span class="lineno"> 5029</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l05030"></a><span class="lineno"> 5030</span>&#160;        assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05031"></a><span class="lineno"> 5031</span>&#160;        result.m_it.array_iterator = m_value.array-&gt;insert(</div><div class="line"><a name="l05032"></a><span class="lineno"> 5032</span>&#160;                                         pos.m_it.array_iterator,</div><div class="line"><a name="l05033"></a><span class="lineno"> 5033</span>&#160;                                         first.m_it.array_iterator,</div><div class="line"><a name="l05034"></a><span class="lineno"> 5034</span>&#160;                                         last.m_it.array_iterator);</div><div class="line"><a name="l05035"></a><span class="lineno"> 5035</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l05036"></a><span class="lineno"> 5036</span>&#160;    }</div><div class="line"><a name="l05037"></a><span class="lineno"> 5037</span>&#160;</div><div class="line"><a name="l05062"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13"> 5062</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, std::initializer_list&lt;basic_json&gt; ilist)</div><div class="line"><a name="l05063"></a><span class="lineno"> 5063</span>&#160;    {</div><div class="line"><a name="l05064"></a><span class="lineno"> 5064</span>&#160;        <span class="comment">// insert only works for arrays</span></div><div class="line"><a name="l05065"></a><span class="lineno"> 5065</span>&#160;        <span class="keywordflow">if</span> (not is_array())</div><div class="line"><a name="l05066"></a><span class="lineno"> 5066</span>&#160;        {</div><div class="line"><a name="l05067"></a><span class="lineno"> 5067</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use insert() with &quot;</span> + type_name());</div><div class="line"><a name="l05068"></a><span class="lineno"> 5068</span>&#160;        }</div><div class="line"><a name="l05069"></a><span class="lineno"> 5069</span>&#160;</div><div class="line"><a name="l05070"></a><span class="lineno"> 5070</span>&#160;        <span class="comment">// check if iterator pos fits to this JSON value</span></div><div class="line"><a name="l05071"></a><span class="lineno"> 5071</span>&#160;        <span class="keywordflow">if</span> (pos.m_object != <span class="keyword">this</span>)</div><div class="line"><a name="l05072"></a><span class="lineno"> 5072</span>&#160;        {</div><div class="line"><a name="l05073"></a><span class="lineno"> 5073</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l05074"></a><span class="lineno"> 5074</span>&#160;        }</div><div class="line"><a name="l05075"></a><span class="lineno"> 5075</span>&#160;</div><div class="line"><a name="l05076"></a><span class="lineno"> 5076</span>&#160;        <span class="comment">// insert to array and return iterator</span></div><div class="line"><a name="l05077"></a><span class="lineno"> 5077</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l05078"></a><span class="lineno"> 5078</span>&#160;        assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05079"></a><span class="lineno"> 5079</span>&#160;        result.m_it.array_iterator = m_value.array-&gt;insert(pos.m_it.array_iterator, ilist);</div><div class="line"><a name="l05080"></a><span class="lineno"> 5080</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l05081"></a><span class="lineno"> 5081</span>&#160;    }</div><div class="line"><a name="l05082"></a><span class="lineno"> 5082</span>&#160;</div><div class="line"><a name="l05100"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582"> 5100</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">swap</a>(<a class="code" href="classnlohmann_1_1basic__json.html">reference</a> other) noexcept (</div><div class="line"><a name="l05101"></a><span class="lineno"> 5101</span>&#160;        std::is_nothrow_move_constructible&lt;value_t&gt;::value and</div><div class="line"><a name="l05102"></a><span class="lineno"> 5102</span>&#160;        std::is_nothrow_move_assignable&lt;value_t&gt;::value and</div><div class="line"><a name="l05103"></a><span class="lineno"> 5103</span>&#160;        std::is_nothrow_move_constructible&lt;json_value&gt;::value and</div><div class="line"><a name="l05104"></a><span class="lineno"> 5104</span>&#160;        std::is_nothrow_move_assignable&lt;json_value&gt;::value</div><div class="line"><a name="l05105"></a><span class="lineno"> 5105</span>&#160;    )</div><div class="line"><a name="l05106"></a><span class="lineno"> 5106</span>&#160;    {</div><div class="line"><a name="l05107"></a><span class="lineno"> 5107</span>&#160;        std::swap(m_type, other.m_type);</div><div class="line"><a name="l05108"></a><span class="lineno"> 5108</span>&#160;        std::swap(m_value, other.m_value);</div><div class="line"><a name="l05109"></a><span class="lineno"> 5109</span>&#160;    }</div><div class="line"><a name="l05110"></a><span class="lineno"> 5110</span>&#160;</div><div class="line"><a name="l05131"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935"> 5131</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">swap</a>(<a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>&amp; other)</div><div class="line"><a name="l05132"></a><span class="lineno"> 5132</span>&#160;    {</div><div class="line"><a name="l05133"></a><span class="lineno"> 5133</span>&#160;        <span class="comment">// swap only works for arrays</span></div><div class="line"><a name="l05134"></a><span class="lineno"> 5134</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l05135"></a><span class="lineno"> 5135</span>&#160;        {</div><div class="line"><a name="l05136"></a><span class="lineno"> 5136</span>&#160;            assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05137"></a><span class="lineno"> 5137</span>&#160;            std::swap(*(m_value.array), other);</div><div class="line"><a name="l05138"></a><span class="lineno"> 5138</span>&#160;        }</div><div class="line"><a name="l05139"></a><span class="lineno"> 5139</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l05140"></a><span class="lineno"> 5140</span>&#160;        {</div><div class="line"><a name="l05141"></a><span class="lineno"> 5141</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use swap() with &quot;</span> + type_name());</div><div class="line"><a name="l05142"></a><span class="lineno"> 5142</span>&#160;        }</div><div class="line"><a name="l05143"></a><span class="lineno"> 5143</span>&#160;    }</div><div class="line"><a name="l05144"></a><span class="lineno"> 5144</span>&#160;</div><div class="line"><a name="l05165"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794"> 5165</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">swap</a>(<a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>&amp; other)</div><div class="line"><a name="l05166"></a><span class="lineno"> 5166</span>&#160;    {</div><div class="line"><a name="l05167"></a><span class="lineno"> 5167</span>&#160;        <span class="comment">// swap only works for objects</span></div><div class="line"><a name="l05168"></a><span class="lineno"> 5168</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l05169"></a><span class="lineno"> 5169</span>&#160;        {</div><div class="line"><a name="l05170"></a><span class="lineno"> 5170</span>&#160;            assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05171"></a><span class="lineno"> 5171</span>&#160;            std::swap(*(m_value.object), other);</div><div class="line"><a name="l05172"></a><span class="lineno"> 5172</span>&#160;        }</div><div class="line"><a name="l05173"></a><span class="lineno"> 5173</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l05174"></a><span class="lineno"> 5174</span>&#160;        {</div><div class="line"><a name="l05175"></a><span class="lineno"> 5175</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use swap() with &quot;</span> + type_name());</div><div class="line"><a name="l05176"></a><span class="lineno"> 5176</span>&#160;        }</div><div class="line"><a name="l05177"></a><span class="lineno"> 5177</span>&#160;    }</div><div class="line"><a name="l05178"></a><span class="lineno"> 5178</span>&#160;</div><div class="line"><a name="l05199"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7"> 5199</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">swap</a>(<a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; other)</div><div class="line"><a name="l05200"></a><span class="lineno"> 5200</span>&#160;    {</div><div class="line"><a name="l05201"></a><span class="lineno"> 5201</span>&#160;        <span class="comment">// swap only works for strings</span></div><div class="line"><a name="l05202"></a><span class="lineno"> 5202</span>&#160;        <span class="keywordflow">if</span> (is_string())</div><div class="line"><a name="l05203"></a><span class="lineno"> 5203</span>&#160;        {</div><div class="line"><a name="l05204"></a><span class="lineno"> 5204</span>&#160;            assert(m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05205"></a><span class="lineno"> 5205</span>&#160;            std::swap(*(m_value.string), other);</div><div class="line"><a name="l05206"></a><span class="lineno"> 5206</span>&#160;        }</div><div class="line"><a name="l05207"></a><span class="lineno"> 5207</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l05208"></a><span class="lineno"> 5208</span>&#160;        {</div><div class="line"><a name="l05209"></a><span class="lineno"> 5209</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use swap() with &quot;</span> + type_name());</div><div class="line"><a name="l05210"></a><span class="lineno"> 5210</span>&#160;        }</div><div class="line"><a name="l05211"></a><span class="lineno"> 5211</span>&#160;    }</div><div class="line"><a name="l05212"></a><span class="lineno"> 5212</span>&#160;</div><div class="line"><a name="l05214"></a><span class="lineno"> 5214</span>&#160;</div><div class="line"><a name="l05215"></a><span class="lineno"> 5215</span>&#160;</div><div class="line"><a name="l05217"></a><span class="lineno"> 5217</span>&#160;    <span class="comment">// lexicographical comparison operators //</span></div><div class="line"><a name="l05219"></a><span class="lineno"> 5219</span>&#160;<span class="comment"></span></div><div class="line"><a name="l05222"></a><span class="lineno"> 5222</span>&#160;</div><div class="line"><a name="l05223"></a><span class="lineno"> 5223</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l05233"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7"> 5233</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> lhs, <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> rhs) noexcept</div><div class="line"><a name="l05234"></a><span class="lineno"> 5234</span>&#160;    {</div><div class="line"><a name="l05235"></a><span class="lineno"> 5235</span>&#160;        <span class="keyword">static</span> constexpr std::array&lt;uint8_t, 8&gt; order = {{</div><div class="line"><a name="l05236"></a><span class="lineno"> 5236</span>&#160;                0, <span class="comment">// null</span></div><div class="line"><a name="l05237"></a><span class="lineno"> 5237</span>&#160;                3, <span class="comment">// object</span></div><div class="line"><a name="l05238"></a><span class="lineno"> 5238</span>&#160;                4, <span class="comment">// array</span></div><div class="line"><a name="l05239"></a><span class="lineno"> 5239</span>&#160;                5, <span class="comment">// string</span></div><div class="line"><a name="l05240"></a><span class="lineno"> 5240</span>&#160;                1, <span class="comment">// boolean</span></div><div class="line"><a name="l05241"></a><span class="lineno"> 5241</span>&#160;                2, <span class="comment">// integer</span></div><div class="line"><a name="l05242"></a><span class="lineno"> 5242</span>&#160;                2, <span class="comment">// unsigned</span></div><div class="line"><a name="l05243"></a><span class="lineno"> 5243</span>&#160;                2, <span class="comment">// float</span></div><div class="line"><a name="l05244"></a><span class="lineno"> 5244</span>&#160;            }</div><div class="line"><a name="l05245"></a><span class="lineno"> 5245</span>&#160;        };</div><div class="line"><a name="l05246"></a><span class="lineno"> 5246</span>&#160;</div><div class="line"><a name="l05247"></a><span class="lineno"> 5247</span>&#160;        <span class="comment">// discarded values are not comparable</span></div><div class="line"><a name="l05248"></a><span class="lineno"> 5248</span>&#160;        <span class="keywordflow">if</span> (lhs == value_t::discarded or rhs == value_t::discarded)</div><div class="line"><a name="l05249"></a><span class="lineno"> 5249</span>&#160;        {</div><div class="line"><a name="l05250"></a><span class="lineno"> 5250</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05251"></a><span class="lineno"> 5251</span>&#160;        }</div><div class="line"><a name="l05252"></a><span class="lineno"> 5252</span>&#160;</div><div class="line"><a name="l05253"></a><span class="lineno"> 5253</span>&#160;        <span class="keywordflow">return</span> order[<span class="keyword">static_cast&lt;</span>std::size_t<span class="keyword">&gt;</span>(lhs)] &lt; order[static_cast&lt;std::size_t&gt;(rhs)];</div><div class="line"><a name="l05254"></a><span class="lineno"> 5254</span>&#160;    }</div><div class="line"><a name="l05255"></a><span class="lineno"> 5255</span>&#160;</div><div class="line"><a name="l05256"></a><span class="lineno"> 5256</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l05280"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e"> 5280</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">operator==</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05281"></a><span class="lineno"> 5281</span>&#160;    {</div><div class="line"><a name="l05282"></a><span class="lineno"> 5282</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> lhs_type = lhs.type();</div><div class="line"><a name="l05283"></a><span class="lineno"> 5283</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> rhs_type = rhs.type();</div><div class="line"><a name="l05284"></a><span class="lineno"> 5284</span>&#160;</div><div class="line"><a name="l05285"></a><span class="lineno"> 5285</span>&#160;        <span class="keywordflow">if</span> (lhs_type == rhs_type)</div><div class="line"><a name="l05286"></a><span class="lineno"> 5286</span>&#160;        {</div><div class="line"><a name="l05287"></a><span class="lineno"> 5287</span>&#160;            <span class="keywordflow">switch</span> (lhs_type)</div><div class="line"><a name="l05288"></a><span class="lineno"> 5288</span>&#160;            {</div><div class="line"><a name="l05289"></a><span class="lineno"> 5289</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l05290"></a><span class="lineno"> 5290</span>&#160;                {</div><div class="line"><a name="l05291"></a><span class="lineno"> 5291</span>&#160;                    assert(lhs.m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05292"></a><span class="lineno"> 5292</span>&#160;                    assert(rhs.m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05293"></a><span class="lineno"> 5293</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.array == *rhs.m_value.array;</div><div class="line"><a name="l05294"></a><span class="lineno"> 5294</span>&#160;                }</div><div class="line"><a name="l05295"></a><span class="lineno"> 5295</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l05296"></a><span class="lineno"> 5296</span>&#160;                {</div><div class="line"><a name="l05297"></a><span class="lineno"> 5297</span>&#160;                    assert(lhs.m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05298"></a><span class="lineno"> 5298</span>&#160;                    assert(rhs.m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05299"></a><span class="lineno"> 5299</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.object == *rhs.m_value.object;</div><div class="line"><a name="l05300"></a><span class="lineno"> 5300</span>&#160;                }</div><div class="line"><a name="l05301"></a><span class="lineno"> 5301</span>&#160;                <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l05302"></a><span class="lineno"> 5302</span>&#160;                {</div><div class="line"><a name="l05303"></a><span class="lineno"> 5303</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l05304"></a><span class="lineno"> 5304</span>&#160;                }</div><div class="line"><a name="l05305"></a><span class="lineno"> 5305</span>&#160;                <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l05306"></a><span class="lineno"> 5306</span>&#160;                {</div><div class="line"><a name="l05307"></a><span class="lineno"> 5307</span>&#160;                    assert(lhs.m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05308"></a><span class="lineno"> 5308</span>&#160;                    assert(rhs.m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05309"></a><span class="lineno"> 5309</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.string == *rhs.m_value.string;</div><div class="line"><a name="l05310"></a><span class="lineno"> 5310</span>&#160;                }</div><div class="line"><a name="l05311"></a><span class="lineno"> 5311</span>&#160;                <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l05312"></a><span class="lineno"> 5312</span>&#160;                {</div><div class="line"><a name="l05313"></a><span class="lineno"> 5313</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.boolean == rhs.m_value.boolean;</div><div class="line"><a name="l05314"></a><span class="lineno"> 5314</span>&#160;                }</div><div class="line"><a name="l05315"></a><span class="lineno"> 5315</span>&#160;                <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l05316"></a><span class="lineno"> 5316</span>&#160;                {</div><div class="line"><a name="l05317"></a><span class="lineno"> 5317</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_integer == rhs.m_value.number_integer;</div><div class="line"><a name="l05318"></a><span class="lineno"> 5318</span>&#160;                }</div><div class="line"><a name="l05319"></a><span class="lineno"> 5319</span>&#160;                <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l05320"></a><span class="lineno"> 5320</span>&#160;                {</div><div class="line"><a name="l05321"></a><span class="lineno"> 5321</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_unsigned == rhs.m_value.number_unsigned;</div><div class="line"><a name="l05322"></a><span class="lineno"> 5322</span>&#160;                }</div><div class="line"><a name="l05323"></a><span class="lineno"> 5323</span>&#160;                <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l05324"></a><span class="lineno"> 5324</span>&#160;                {</div><div class="line"><a name="l05325"></a><span class="lineno"> 5325</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_float == rhs.m_value.number_float;</div><div class="line"><a name="l05326"></a><span class="lineno"> 5326</span>&#160;                }</div><div class="line"><a name="l05327"></a><span class="lineno"> 5327</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l05328"></a><span class="lineno"> 5328</span>&#160;                {</div><div class="line"><a name="l05329"></a><span class="lineno"> 5329</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05330"></a><span class="lineno"> 5330</span>&#160;                }</div><div class="line"><a name="l05331"></a><span class="lineno"> 5331</span>&#160;            }</div><div class="line"><a name="l05332"></a><span class="lineno"> 5332</span>&#160;        }</div><div class="line"><a name="l05333"></a><span class="lineno"> 5333</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)</div><div class="line"><a name="l05334"></a><span class="lineno"> 5334</span>&#160;        {</div><div class="line"><a name="l05335"></a><span class="lineno"> 5335</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_integer) == rhs.m_value.number_float;</div><div class="line"><a name="l05336"></a><span class="lineno"> 5336</span>&#160;        }</div><div class="line"><a name="l05337"></a><span class="lineno"> 5337</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)</div><div class="line"><a name="l05338"></a><span class="lineno"> 5338</span>&#160;        {</div><div class="line"><a name="l05339"></a><span class="lineno"> 5339</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_float == <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_integer);</div><div class="line"><a name="l05340"></a><span class="lineno"> 5340</span>&#160;        }</div><div class="line"><a name="l05341"></a><span class="lineno"> 5341</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)</div><div class="line"><a name="l05342"></a><span class="lineno"> 5342</span>&#160;        {</div><div class="line"><a name="l05343"></a><span class="lineno"> 5343</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_unsigned) == rhs.m_value.number_float;</div><div class="line"><a name="l05344"></a><span class="lineno"> 5344</span>&#160;        }</div><div class="line"><a name="l05345"></a><span class="lineno"> 5345</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)</div><div class="line"><a name="l05346"></a><span class="lineno"> 5346</span>&#160;        {</div><div class="line"><a name="l05347"></a><span class="lineno"> 5347</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_float == <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_unsigned);</div><div class="line"><a name="l05348"></a><span class="lineno"> 5348</span>&#160;        }</div><div class="line"><a name="l05349"></a><span class="lineno"> 5349</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)</div><div class="line"><a name="l05350"></a><span class="lineno"> 5350</span>&#160;        {</div><div class="line"><a name="l05351"></a><span class="lineno"> 5351</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_unsigned) == rhs.m_value.number_integer;</div><div class="line"><a name="l05352"></a><span class="lineno"> 5352</span>&#160;        }</div><div class="line"><a name="l05353"></a><span class="lineno"> 5353</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)</div><div class="line"><a name="l05354"></a><span class="lineno"> 5354</span>&#160;        {</div><div class="line"><a name="l05355"></a><span class="lineno"> 5355</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_integer == <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_unsigned);</div><div class="line"><a name="l05356"></a><span class="lineno"> 5356</span>&#160;        }</div><div class="line"><a name="l05357"></a><span class="lineno"> 5357</span>&#160;</div><div class="line"><a name="l05358"></a><span class="lineno"> 5358</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05359"></a><span class="lineno"> 5359</span>&#160;    }</div><div class="line"><a name="l05360"></a><span class="lineno"> 5360</span>&#160;</div><div class="line"><a name="l05379"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7"> 5379</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">operator==</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> v, std::nullptr_t) noexcept</div><div class="line"><a name="l05380"></a><span class="lineno"> 5380</span>&#160;    {</div><div class="line"><a name="l05381"></a><span class="lineno"> 5381</span>&#160;        <span class="keywordflow">return</span> v.<a class="code" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a>();</div><div class="line"><a name="l05382"></a><span class="lineno"> 5382</span>&#160;    }</div><div class="line"><a name="l05383"></a><span class="lineno"> 5383</span>&#160;</div><div class="line"><a name="l05388"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52"> 5388</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">operator==</a>(std::nullptr_t, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> v) noexcept</div><div class="line"><a name="l05389"></a><span class="lineno"> 5389</span>&#160;    {</div><div class="line"><a name="l05390"></a><span class="lineno"> 5390</span>&#160;        <span class="keywordflow">return</span> v.is_null();</div><div class="line"><a name="l05391"></a><span class="lineno"> 5391</span>&#160;    }</div><div class="line"><a name="l05392"></a><span class="lineno"> 5392</span>&#160;</div><div class="line"><a name="l05409"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327"> 5409</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">operator!=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05410"></a><span class="lineno"> 5410</span>&#160;    {</div><div class="line"><a name="l05411"></a><span class="lineno"> 5411</span>&#160;        <span class="keywordflow">return</span> not (lhs == rhs);</div><div class="line"><a name="l05412"></a><span class="lineno"> 5412</span>&#160;    }</div><div class="line"><a name="l05413"></a><span class="lineno"> 5413</span>&#160;</div><div class="line"><a name="l05432"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf"> 5432</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">operator!=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> v, std::nullptr_t) noexcept</div><div class="line"><a name="l05433"></a><span class="lineno"> 5433</span>&#160;    {</div><div class="line"><a name="l05434"></a><span class="lineno"> 5434</span>&#160;        <span class="keywordflow">return</span> not v.<a class="code" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a>();</div><div class="line"><a name="l05435"></a><span class="lineno"> 5435</span>&#160;    }</div><div class="line"><a name="l05436"></a><span class="lineno"> 5436</span>&#160;</div><div class="line"><a name="l05441"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4"> 5441</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">operator!=</a>(std::nullptr_t, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> v) noexcept</div><div class="line"><a name="l05442"></a><span class="lineno"> 5442</span>&#160;    {</div><div class="line"><a name="l05443"></a><span class="lineno"> 5443</span>&#160;        <span class="keywordflow">return</span> not v.is_null();</div><div class="line"><a name="l05444"></a><span class="lineno"> 5444</span>&#160;    }</div><div class="line"><a name="l05445"></a><span class="lineno"> 5445</span>&#160;</div><div class="line"><a name="l05470"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3"> 5470</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">operator&lt;</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05471"></a><span class="lineno"> 5471</span>&#160;    {</div><div class="line"><a name="l05472"></a><span class="lineno"> 5472</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> lhs_type = lhs.type();</div><div class="line"><a name="l05473"></a><span class="lineno"> 5473</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> rhs_type = rhs.type();</div><div class="line"><a name="l05474"></a><span class="lineno"> 5474</span>&#160;</div><div class="line"><a name="l05475"></a><span class="lineno"> 5475</span>&#160;        <span class="keywordflow">if</span> (lhs_type == rhs_type)</div><div class="line"><a name="l05476"></a><span class="lineno"> 5476</span>&#160;        {</div><div class="line"><a name="l05477"></a><span class="lineno"> 5477</span>&#160;            <span class="keywordflow">switch</span> (lhs_type)</div><div class="line"><a name="l05478"></a><span class="lineno"> 5478</span>&#160;            {</div><div class="line"><a name="l05479"></a><span class="lineno"> 5479</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l05480"></a><span class="lineno"> 5480</span>&#160;                {</div><div class="line"><a name="l05481"></a><span class="lineno"> 5481</span>&#160;                    assert(lhs.m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05482"></a><span class="lineno"> 5482</span>&#160;                    assert(rhs.m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05483"></a><span class="lineno"> 5483</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.array &lt; *rhs.m_value.array;</div><div class="line"><a name="l05484"></a><span class="lineno"> 5484</span>&#160;                }</div><div class="line"><a name="l05485"></a><span class="lineno"> 5485</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l05486"></a><span class="lineno"> 5486</span>&#160;                {</div><div class="line"><a name="l05487"></a><span class="lineno"> 5487</span>&#160;                    assert(lhs.m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05488"></a><span class="lineno"> 5488</span>&#160;                    assert(rhs.m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05489"></a><span class="lineno"> 5489</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.object &lt; *rhs.m_value.object;</div><div class="line"><a name="l05490"></a><span class="lineno"> 5490</span>&#160;                }</div><div class="line"><a name="l05491"></a><span class="lineno"> 5491</span>&#160;                <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l05492"></a><span class="lineno"> 5492</span>&#160;                {</div><div class="line"><a name="l05493"></a><span class="lineno"> 5493</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05494"></a><span class="lineno"> 5494</span>&#160;                }</div><div class="line"><a name="l05495"></a><span class="lineno"> 5495</span>&#160;                <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l05496"></a><span class="lineno"> 5496</span>&#160;                {</div><div class="line"><a name="l05497"></a><span class="lineno"> 5497</span>&#160;                    assert(lhs.m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05498"></a><span class="lineno"> 5498</span>&#160;                    assert(rhs.m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l05499"></a><span class="lineno"> 5499</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.string &lt; *rhs.m_value.string;</div><div class="line"><a name="l05500"></a><span class="lineno"> 5500</span>&#160;                }</div><div class="line"><a name="l05501"></a><span class="lineno"> 5501</span>&#160;                <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l05502"></a><span class="lineno"> 5502</span>&#160;                {</div><div class="line"><a name="l05503"></a><span class="lineno"> 5503</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.boolean &lt; rhs.m_value.boolean;</div><div class="line"><a name="l05504"></a><span class="lineno"> 5504</span>&#160;                }</div><div class="line"><a name="l05505"></a><span class="lineno"> 5505</span>&#160;                <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l05506"></a><span class="lineno"> 5506</span>&#160;                {</div><div class="line"><a name="l05507"></a><span class="lineno"> 5507</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_integer &lt; rhs.m_value.number_integer;</div><div class="line"><a name="l05508"></a><span class="lineno"> 5508</span>&#160;                }</div><div class="line"><a name="l05509"></a><span class="lineno"> 5509</span>&#160;                <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l05510"></a><span class="lineno"> 5510</span>&#160;                {</div><div class="line"><a name="l05511"></a><span class="lineno"> 5511</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_unsigned &lt; rhs.m_value.number_unsigned;</div><div class="line"><a name="l05512"></a><span class="lineno"> 5512</span>&#160;                }</div><div class="line"><a name="l05513"></a><span class="lineno"> 5513</span>&#160;                <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l05514"></a><span class="lineno"> 5514</span>&#160;                {</div><div class="line"><a name="l05515"></a><span class="lineno"> 5515</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_float &lt; rhs.m_value.number_float;</div><div class="line"><a name="l05516"></a><span class="lineno"> 5516</span>&#160;                }</div><div class="line"><a name="l05517"></a><span class="lineno"> 5517</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l05518"></a><span class="lineno"> 5518</span>&#160;                {</div><div class="line"><a name="l05519"></a><span class="lineno"> 5519</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05520"></a><span class="lineno"> 5520</span>&#160;                }</div><div class="line"><a name="l05521"></a><span class="lineno"> 5521</span>&#160;            }</div><div class="line"><a name="l05522"></a><span class="lineno"> 5522</span>&#160;        }</div><div class="line"><a name="l05523"></a><span class="lineno"> 5523</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)</div><div class="line"><a name="l05524"></a><span class="lineno"> 5524</span>&#160;        {</div><div class="line"><a name="l05525"></a><span class="lineno"> 5525</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_integer) &lt; rhs.m_value.number_float;</div><div class="line"><a name="l05526"></a><span class="lineno"> 5526</span>&#160;        }</div><div class="line"><a name="l05527"></a><span class="lineno"> 5527</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)</div><div class="line"><a name="l05528"></a><span class="lineno"> 5528</span>&#160;        {</div><div class="line"><a name="l05529"></a><span class="lineno"> 5529</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_float &lt; <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_integer);</div><div class="line"><a name="l05530"></a><span class="lineno"> 5530</span>&#160;        }</div><div class="line"><a name="l05531"></a><span class="lineno"> 5531</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)</div><div class="line"><a name="l05532"></a><span class="lineno"> 5532</span>&#160;        {</div><div class="line"><a name="l05533"></a><span class="lineno"> 5533</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_unsigned) &lt; rhs.m_value.number_float;</div><div class="line"><a name="l05534"></a><span class="lineno"> 5534</span>&#160;        }</div><div class="line"><a name="l05535"></a><span class="lineno"> 5535</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)</div><div class="line"><a name="l05536"></a><span class="lineno"> 5536</span>&#160;        {</div><div class="line"><a name="l05537"></a><span class="lineno"> 5537</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_float &lt; <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_unsigned);</div><div class="line"><a name="l05538"></a><span class="lineno"> 5538</span>&#160;        }</div><div class="line"><a name="l05539"></a><span class="lineno"> 5539</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)</div><div class="line"><a name="l05540"></a><span class="lineno"> 5540</span>&#160;        {</div><div class="line"><a name="l05541"></a><span class="lineno"> 5541</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_integer &lt; <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_unsigned);</div><div class="line"><a name="l05542"></a><span class="lineno"> 5542</span>&#160;        }</div><div class="line"><a name="l05543"></a><span class="lineno"> 5543</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)</div><div class="line"><a name="l05544"></a><span class="lineno"> 5544</span>&#160;        {</div><div class="line"><a name="l05545"></a><span class="lineno"> 5545</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_unsigned) &lt; rhs.m_value.number_integer;</div><div class="line"><a name="l05546"></a><span class="lineno"> 5546</span>&#160;        }</div><div class="line"><a name="l05547"></a><span class="lineno"> 5547</span>&#160;</div><div class="line"><a name="l05548"></a><span class="lineno"> 5548</span>&#160;        <span class="comment">// We only reach this line if we cannot compare values. In that case,</span></div><div class="line"><a name="l05549"></a><span class="lineno"> 5549</span>&#160;        <span class="comment">// we compare types. Note we have to call the operator explicitly,</span></div><div class="line"><a name="l05550"></a><span class="lineno"> 5550</span>&#160;        <span class="comment">// because MSVC has problems otherwise.</span></div><div class="line"><a name="l05551"></a><span class="lineno"> 5551</span>&#160;        <span class="keywordflow">return</span> operator&lt;(lhs_type, rhs_type);</div><div class="line"><a name="l05552"></a><span class="lineno"> 5552</span>&#160;    }</div><div class="line"><a name="l05553"></a><span class="lineno"> 5553</span>&#160;</div><div class="line"><a name="l05571"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac"> 5571</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">operator&lt;=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05572"></a><span class="lineno"> 5572</span>&#160;    {</div><div class="line"><a name="l05573"></a><span class="lineno"> 5573</span>&#160;        <span class="keywordflow">return</span> not (rhs &lt; lhs);</div><div class="line"><a name="l05574"></a><span class="lineno"> 5574</span>&#160;    }</div><div class="line"><a name="l05575"></a><span class="lineno"> 5575</span>&#160;</div><div class="line"><a name="l05593"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8"> 5593</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">operator&gt;</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05594"></a><span class="lineno"> 5594</span>&#160;    {</div><div class="line"><a name="l05595"></a><span class="lineno"> 5595</span>&#160;        <span class="keywordflow">return</span> not (lhs &lt;= rhs);</div><div class="line"><a name="l05596"></a><span class="lineno"> 5596</span>&#160;    }</div><div class="line"><a name="l05597"></a><span class="lineno"> 5597</span>&#160;</div><div class="line"><a name="l05615"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453"> 5615</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">operator&gt;=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05616"></a><span class="lineno"> 5616</span>&#160;    {</div><div class="line"><a name="l05617"></a><span class="lineno"> 5617</span>&#160;        <span class="keywordflow">return</span> not (lhs &lt; rhs);</div><div class="line"><a name="l05618"></a><span class="lineno"> 5618</span>&#160;    }</div><div class="line"><a name="l05619"></a><span class="lineno"> 5619</span>&#160;</div><div class="line"><a name="l05621"></a><span class="lineno"> 5621</span>&#160;</div><div class="line"><a name="l05622"></a><span class="lineno"> 5622</span>&#160;</div><div class="line"><a name="l05624"></a><span class="lineno"> 5624</span>&#160;    <span class="comment">// serialization //</span></div><div class="line"><a name="l05626"></a><span class="lineno"> 5626</span>&#160;<span class="comment"></span></div><div class="line"><a name="l05629"></a><span class="lineno"> 5629</span>&#160;</div><div class="line"><a name="l05652"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405"> 5652</a></span>&#160;    <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">operator&lt;&lt;</a>(std::ostream&amp; o, <span class="keyword">const</span> basic_json&amp; j)</div><div class="line"><a name="l05653"></a><span class="lineno"> 5653</span>&#160;    {</div><div class="line"><a name="l05654"></a><span class="lineno"> 5654</span>&#160;        <span class="comment">// read width member and use it as indentation parameter if nonzero</span></div><div class="line"><a name="l05655"></a><span class="lineno"> 5655</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">bool</span> pretty_print = (o.width() &gt; 0);</div><div class="line"><a name="l05656"></a><span class="lineno"> 5656</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> indentation = (pretty_print ? o.width() : 0);</div><div class="line"><a name="l05657"></a><span class="lineno"> 5657</span>&#160;</div><div class="line"><a name="l05658"></a><span class="lineno"> 5658</span>&#160;        <span class="comment">// reset width to 0 for subsequent calls to this stream</span></div><div class="line"><a name="l05659"></a><span class="lineno"> 5659</span>&#160;        o.width(0);</div><div class="line"><a name="l05660"></a><span class="lineno"> 5660</span>&#160;        <span class="comment">// fix locale problems</span></div><div class="line"><a name="l05661"></a><span class="lineno"> 5661</span>&#160;        <span class="keyword">auto</span> old_locale = o.imbue(std::locale(std::locale(), <span class="keyword">new</span> DecimalSeparator));</div><div class="line"><a name="l05662"></a><span class="lineno"> 5662</span>&#160;</div><div class="line"><a name="l05663"></a><span class="lineno"> 5663</span>&#160;        <span class="comment">// do the actual serialization</span></div><div class="line"><a name="l05664"></a><span class="lineno"> 5664</span>&#160;        j.<a class="code" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a>(o, pretty_print, static_cast&lt;unsigned int&gt;(indentation));</div><div class="line"><a name="l05665"></a><span class="lineno"> 5665</span>&#160;</div><div class="line"><a name="l05666"></a><span class="lineno"> 5666</span>&#160;        <span class="comment">// reset locale</span></div><div class="line"><a name="l05667"></a><span class="lineno"> 5667</span>&#160;        o.imbue(old_locale);</div><div class="line"><a name="l05668"></a><span class="lineno"> 5668</span>&#160;        <span class="keywordflow">return</span> o;</div><div class="line"><a name="l05669"></a><span class="lineno"> 5669</span>&#160;    }</div><div class="line"><a name="l05670"></a><span class="lineno"> 5670</span>&#160;</div><div class="line"><a name="l05675"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b"> 5675</a></span>&#160;    <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">operator&gt;&gt;</a>(<span class="keyword">const</span> basic_json&amp; j, std::ostream&amp; o)</div><div class="line"><a name="l05676"></a><span class="lineno"> 5676</span>&#160;    {</div><div class="line"><a name="l05677"></a><span class="lineno"> 5677</span>&#160;        <span class="keywordflow">return</span> o &lt;&lt; j;</div><div class="line"><a name="l05678"></a><span class="lineno"> 5678</span>&#160;    }</div><div class="line"><a name="l05679"></a><span class="lineno"> 5679</span>&#160;</div><div class="line"><a name="l05681"></a><span class="lineno"> 5681</span>&#160;</div><div class="line"><a name="l05682"></a><span class="lineno"> 5682</span>&#160;</div><div class="line"><a name="l05684"></a><span class="lineno"> 5684</span>&#160;    <span class="comment">// deserialization //</span></div><div class="line"><a name="l05686"></a><span class="lineno"> 5686</span>&#160;<span class="comment"></span></div><div class="line"><a name="l05689"></a><span class="lineno"> 5689</span>&#160;</div><div class="line"><a name="l05714"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86"> 5714</a></span>&#160;    <span class="keyword">static</span> basic_json <a class="code" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s, <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>)</div><div class="line"><a name="l05715"></a><span class="lineno"> 5715</span>&#160;    {</div><div class="line"><a name="l05716"></a><span class="lineno"> 5716</span>&#160;        <span class="keywordflow">return</span> parser(s, cb).<a class="code" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a>();</div><div class="line"><a name="l05717"></a><span class="lineno"> 5717</span>&#160;    }</div><div class="line"><a name="l05718"></a><span class="lineno"> 5718</span>&#160;</div><div class="line"><a name="l05743"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff"> 5743</a></span>&#160;    <span class="keyword">static</span> basic_json <a class="code" href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">parse</a>(std::istream&amp; i, <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>)</div><div class="line"><a name="l05744"></a><span class="lineno"> 5744</span>&#160;    {</div><div class="line"><a name="l05745"></a><span class="lineno"> 5745</span>&#160;        <span class="keywordflow">return</span> parser(i, cb).<a class="code" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a>();</div><div class="line"><a name="l05746"></a><span class="lineno"> 5746</span>&#160;    }</div><div class="line"><a name="l05747"></a><span class="lineno"> 5747</span>&#160;</div><div class="line"><a name="l05751"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a"> 5751</a></span>&#160;    <span class="keyword">static</span> basic_json <a class="code" href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">parse</a>(std::istream&amp;&amp; i, <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>)</div><div class="line"><a name="l05752"></a><span class="lineno"> 5752</span>&#160;    {</div><div class="line"><a name="l05753"></a><span class="lineno"> 5753</span>&#160;        <span class="keywordflow">return</span> parser(i, cb).<a class="code" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a>();</div><div class="line"><a name="l05754"></a><span class="lineno"> 5754</span>&#160;    }</div><div class="line"><a name="l05755"></a><span class="lineno"> 5755</span>&#160;</div><div class="line"><a name="l05779"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6"> 5779</a></span>&#160;    <span class="keyword">friend</span> std::istream&amp; <a class="code" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">operator&lt;&lt;</a>(basic_json&amp; j, std::istream&amp; i)</div><div class="line"><a name="l05780"></a><span class="lineno"> 5780</span>&#160;    {</div><div class="line"><a name="l05781"></a><span class="lineno"> 5781</span>&#160;        j = parser(i).<a class="code" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a>();</div><div class="line"><a name="l05782"></a><span class="lineno"> 5782</span>&#160;        <span class="keywordflow">return</span> i;</div><div class="line"><a name="l05783"></a><span class="lineno"> 5783</span>&#160;    }</div><div class="line"><a name="l05784"></a><span class="lineno"> 5784</span>&#160;</div><div class="line"><a name="l05789"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8"> 5789</a></span>&#160;    <span class="keyword">friend</span> std::istream&amp; <a class="code" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">operator&gt;&gt;</a>(std::istream&amp; i, basic_json&amp; j)</div><div class="line"><a name="l05790"></a><span class="lineno"> 5790</span>&#160;    {</div><div class="line"><a name="l05791"></a><span class="lineno"> 5791</span>&#160;        j = parser(i).<a class="code" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">parse</a>();</div><div class="line"><a name="l05792"></a><span class="lineno"> 5792</span>&#160;        <span class="keywordflow">return</span> i;</div><div class="line"><a name="l05793"></a><span class="lineno"> 5793</span>&#160;    }</div><div class="line"><a name="l05794"></a><span class="lineno"> 5794</span>&#160;</div><div class="line"><a name="l05796"></a><span class="lineno"> 5796</span>&#160;</div><div class="line"><a name="l05797"></a><span class="lineno"> 5797</span>&#160;</div><div class="line"><a name="l05798"></a><span class="lineno"> 5798</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l05800"></a><span class="lineno"> 5800</span>&#160;    <span class="comment">// convenience functions //</span></div><div class="line"><a name="l05802"></a><span class="lineno"> 5802</span>&#160;<span class="comment"></span></div><div class="line"><a name="l05804"></a><span class="lineno"> 5804</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> type_name() <span class="keyword">const</span> noexcept</div><div class="line"><a name="l05805"></a><span class="lineno"> 5805</span>&#160;    {</div><div class="line"><a name="l05806"></a><span class="lineno"> 5806</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l05807"></a><span class="lineno"> 5807</span>&#160;        {</div><div class="line"><a name="l05808"></a><span class="lineno"> 5808</span>&#160;            <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l05809"></a><span class="lineno"> 5809</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;null&quot;</span>;</div><div class="line"><a name="l05810"></a><span class="lineno"> 5810</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l05811"></a><span class="lineno"> 5811</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;object&quot;</span>;</div><div class="line"><a name="l05812"></a><span class="lineno"> 5812</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l05813"></a><span class="lineno"> 5813</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;array&quot;</span>;</div><div class="line"><a name="l05814"></a><span class="lineno"> 5814</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l05815"></a><span class="lineno"> 5815</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;string&quot;</span>;</div><div class="line"><a name="l05816"></a><span class="lineno"> 5816</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l05817"></a><span class="lineno"> 5817</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;boolean&quot;</span>;</div><div class="line"><a name="l05818"></a><span class="lineno"> 5818</span>&#160;            <span class="keywordflow">case</span> value_t::discarded:</div><div class="line"><a name="l05819"></a><span class="lineno"> 5819</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;discarded&quot;</span>;</div><div class="line"><a name="l05820"></a><span class="lineno"> 5820</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l05821"></a><span class="lineno"> 5821</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;number&quot;</span>;</div><div class="line"><a name="l05822"></a><span class="lineno"> 5822</span>&#160;        }</div><div class="line"><a name="l05823"></a><span class="lineno"> 5823</span>&#160;    }</div><div class="line"><a name="l05824"></a><span class="lineno"> 5824</span>&#160;</div><div class="line"><a name="l05833"></a><span class="lineno"> 5833</span>&#160;    <span class="keyword">static</span> std::size_t extra_space(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s) noexcept</div><div class="line"><a name="l05834"></a><span class="lineno"> 5834</span>&#160;    {</div><div class="line"><a name="l05835"></a><span class="lineno"> 5835</span>&#160;        std::size_t result = 0;</div><div class="line"><a name="l05836"></a><span class="lineno"> 5836</span>&#160;</div><div class="line"><a name="l05837"></a><span class="lineno"> 5837</span>&#160;        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; c : s)</div><div class="line"><a name="l05838"></a><span class="lineno"> 5838</span>&#160;        {</div><div class="line"><a name="l05839"></a><span class="lineno"> 5839</span>&#160;            <span class="keywordflow">switch</span> (c)</div><div class="line"><a name="l05840"></a><span class="lineno"> 5840</span>&#160;            {</div><div class="line"><a name="l05841"></a><span class="lineno"> 5841</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;&quot;&#39;</span>:</div><div class="line"><a name="l05842"></a><span class="lineno"> 5842</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\\&#39;</span>:</div><div class="line"><a name="l05843"></a><span class="lineno"> 5843</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\b&#39;</span>:</div><div class="line"><a name="l05844"></a><span class="lineno"> 5844</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\f&#39;</span>:</div><div class="line"><a name="l05845"></a><span class="lineno"> 5845</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\n&#39;</span>:</div><div class="line"><a name="l05846"></a><span class="lineno"> 5846</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\r&#39;</span>:</div><div class="line"><a name="l05847"></a><span class="lineno"> 5847</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\t&#39;</span>:</div><div class="line"><a name="l05848"></a><span class="lineno"> 5848</span>&#160;                {</div><div class="line"><a name="l05849"></a><span class="lineno"> 5849</span>&#160;                    <span class="comment">// from c (1 byte) to \x (2 bytes)</span></div><div class="line"><a name="l05850"></a><span class="lineno"> 5850</span>&#160;                    result += 1;</div><div class="line"><a name="l05851"></a><span class="lineno"> 5851</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05852"></a><span class="lineno"> 5852</span>&#160;                }</div><div class="line"><a name="l05853"></a><span class="lineno"> 5853</span>&#160;</div><div class="line"><a name="l05854"></a><span class="lineno"> 5854</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l05855"></a><span class="lineno"> 5855</span>&#160;                {</div><div class="line"><a name="l05856"></a><span class="lineno"> 5856</span>&#160;                    <span class="keywordflow">if</span> (c &gt;= 0x00 and c &lt;= 0x1f)</div><div class="line"><a name="l05857"></a><span class="lineno"> 5857</span>&#160;                    {</div><div class="line"><a name="l05858"></a><span class="lineno"> 5858</span>&#160;                        <span class="comment">// from c (1 byte) to \uxxxx (6 bytes)</span></div><div class="line"><a name="l05859"></a><span class="lineno"> 5859</span>&#160;                        result += 5;</div><div class="line"><a name="l05860"></a><span class="lineno"> 5860</span>&#160;                    }</div><div class="line"><a name="l05861"></a><span class="lineno"> 5861</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05862"></a><span class="lineno"> 5862</span>&#160;                }</div><div class="line"><a name="l05863"></a><span class="lineno"> 5863</span>&#160;            }</div><div class="line"><a name="l05864"></a><span class="lineno"> 5864</span>&#160;        }</div><div class="line"><a name="l05865"></a><span class="lineno"> 5865</span>&#160;</div><div class="line"><a name="l05866"></a><span class="lineno"> 5866</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l05867"></a><span class="lineno"> 5867</span>&#160;    }</div><div class="line"><a name="l05868"></a><span class="lineno"> 5868</span>&#160;</div><div class="line"><a name="l05882"></a><span class="lineno"> 5882</span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> escape_string(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s)</div><div class="line"><a name="l05883"></a><span class="lineno"> 5883</span>&#160;    {</div><div class="line"><a name="l05884"></a><span class="lineno"> 5884</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> space = extra_space(s);</div><div class="line"><a name="l05885"></a><span class="lineno"> 5885</span>&#160;        <span class="keywordflow">if</span> (space == 0)</div><div class="line"><a name="l05886"></a><span class="lineno"> 5886</span>&#160;        {</div><div class="line"><a name="l05887"></a><span class="lineno"> 5887</span>&#160;            <span class="keywordflow">return</span> s;</div><div class="line"><a name="l05888"></a><span class="lineno"> 5888</span>&#160;        }</div><div class="line"><a name="l05889"></a><span class="lineno"> 5889</span>&#160;</div><div class="line"><a name="l05890"></a><span class="lineno"> 5890</span>&#160;        <span class="comment">// create a result string of necessary size</span></div><div class="line"><a name="l05891"></a><span class="lineno"> 5891</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> result(s.size() + space, <span class="charliteral">&#39;\\&#39;</span>);</div><div class="line"><a name="l05892"></a><span class="lineno"> 5892</span>&#160;        std::size_t pos = 0;</div><div class="line"><a name="l05893"></a><span class="lineno"> 5893</span>&#160;</div><div class="line"><a name="l05894"></a><span class="lineno"> 5894</span>&#160;        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; c : s)</div><div class="line"><a name="l05895"></a><span class="lineno"> 5895</span>&#160;        {</div><div class="line"><a name="l05896"></a><span class="lineno"> 5896</span>&#160;            <span class="keywordflow">switch</span> (c)</div><div class="line"><a name="l05897"></a><span class="lineno"> 5897</span>&#160;            {</div><div class="line"><a name="l05898"></a><span class="lineno"> 5898</span>&#160;                <span class="comment">// quotation mark (0x22)</span></div><div class="line"><a name="l05899"></a><span class="lineno"> 5899</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;&quot;&#39;</span>:</div><div class="line"><a name="l05900"></a><span class="lineno"> 5900</span>&#160;                {</div><div class="line"><a name="l05901"></a><span class="lineno"> 5901</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;&quot;&#39;</span>;</div><div class="line"><a name="l05902"></a><span class="lineno"> 5902</span>&#160;                    pos += 2;</div><div class="line"><a name="l05903"></a><span class="lineno"> 5903</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05904"></a><span class="lineno"> 5904</span>&#160;                }</div><div class="line"><a name="l05905"></a><span class="lineno"> 5905</span>&#160;</div><div class="line"><a name="l05906"></a><span class="lineno"> 5906</span>&#160;                <span class="comment">// reverse solidus (0x5c)</span></div><div class="line"><a name="l05907"></a><span class="lineno"> 5907</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\\&#39;</span>:</div><div class="line"><a name="l05908"></a><span class="lineno"> 5908</span>&#160;                {</div><div class="line"><a name="l05909"></a><span class="lineno"> 5909</span>&#160;                    <span class="comment">// nothing to change</span></div><div class="line"><a name="l05910"></a><span class="lineno"> 5910</span>&#160;                    pos += 2;</div><div class="line"><a name="l05911"></a><span class="lineno"> 5911</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05912"></a><span class="lineno"> 5912</span>&#160;                }</div><div class="line"><a name="l05913"></a><span class="lineno"> 5913</span>&#160;</div><div class="line"><a name="l05914"></a><span class="lineno"> 5914</span>&#160;                <span class="comment">// backspace (0x08)</span></div><div class="line"><a name="l05915"></a><span class="lineno"> 5915</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\b&#39;</span>:</div><div class="line"><a name="l05916"></a><span class="lineno"> 5916</span>&#160;                {</div><div class="line"><a name="l05917"></a><span class="lineno"> 5917</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;b&#39;</span>;</div><div class="line"><a name="l05918"></a><span class="lineno"> 5918</span>&#160;                    pos += 2;</div><div class="line"><a name="l05919"></a><span class="lineno"> 5919</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05920"></a><span class="lineno"> 5920</span>&#160;                }</div><div class="line"><a name="l05921"></a><span class="lineno"> 5921</span>&#160;</div><div class="line"><a name="l05922"></a><span class="lineno"> 5922</span>&#160;                <span class="comment">// formfeed (0x0c)</span></div><div class="line"><a name="l05923"></a><span class="lineno"> 5923</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\f&#39;</span>:</div><div class="line"><a name="l05924"></a><span class="lineno"> 5924</span>&#160;                {</div><div class="line"><a name="l05925"></a><span class="lineno"> 5925</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;f&#39;</span>;</div><div class="line"><a name="l05926"></a><span class="lineno"> 5926</span>&#160;                    pos += 2;</div><div class="line"><a name="l05927"></a><span class="lineno"> 5927</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05928"></a><span class="lineno"> 5928</span>&#160;                }</div><div class="line"><a name="l05929"></a><span class="lineno"> 5929</span>&#160;</div><div class="line"><a name="l05930"></a><span class="lineno"> 5930</span>&#160;                <span class="comment">// newline (0x0a)</span></div><div class="line"><a name="l05931"></a><span class="lineno"> 5931</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\n&#39;</span>:</div><div class="line"><a name="l05932"></a><span class="lineno"> 5932</span>&#160;                {</div><div class="line"><a name="l05933"></a><span class="lineno"> 5933</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;n&#39;</span>;</div><div class="line"><a name="l05934"></a><span class="lineno"> 5934</span>&#160;                    pos += 2;</div><div class="line"><a name="l05935"></a><span class="lineno"> 5935</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05936"></a><span class="lineno"> 5936</span>&#160;                }</div><div class="line"><a name="l05937"></a><span class="lineno"> 5937</span>&#160;</div><div class="line"><a name="l05938"></a><span class="lineno"> 5938</span>&#160;                <span class="comment">// carriage return (0x0d)</span></div><div class="line"><a name="l05939"></a><span class="lineno"> 5939</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\r&#39;</span>:</div><div class="line"><a name="l05940"></a><span class="lineno"> 5940</span>&#160;                {</div><div class="line"><a name="l05941"></a><span class="lineno"> 5941</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;r&#39;</span>;</div><div class="line"><a name="l05942"></a><span class="lineno"> 5942</span>&#160;                    pos += 2;</div><div class="line"><a name="l05943"></a><span class="lineno"> 5943</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05944"></a><span class="lineno"> 5944</span>&#160;                }</div><div class="line"><a name="l05945"></a><span class="lineno"> 5945</span>&#160;</div><div class="line"><a name="l05946"></a><span class="lineno"> 5946</span>&#160;                <span class="comment">// horizontal tab (0x09)</span></div><div class="line"><a name="l05947"></a><span class="lineno"> 5947</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\t&#39;</span>:</div><div class="line"><a name="l05948"></a><span class="lineno"> 5948</span>&#160;                {</div><div class="line"><a name="l05949"></a><span class="lineno"> 5949</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;t&#39;</span>;</div><div class="line"><a name="l05950"></a><span class="lineno"> 5950</span>&#160;                    pos += 2;</div><div class="line"><a name="l05951"></a><span class="lineno"> 5951</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05952"></a><span class="lineno"> 5952</span>&#160;                }</div><div class="line"><a name="l05953"></a><span class="lineno"> 5953</span>&#160;</div><div class="line"><a name="l05954"></a><span class="lineno"> 5954</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l05955"></a><span class="lineno"> 5955</span>&#160;                {</div><div class="line"><a name="l05956"></a><span class="lineno"> 5956</span>&#160;                    <span class="keywordflow">if</span> (c &gt;= 0x00 and c &lt;= 0x1f)</div><div class="line"><a name="l05957"></a><span class="lineno"> 5957</span>&#160;                    {</div><div class="line"><a name="l05958"></a><span class="lineno"> 5958</span>&#160;                        <span class="comment">// convert a number 0..15 to its hex representation</span></div><div class="line"><a name="l05959"></a><span class="lineno"> 5959</span>&#160;                        <span class="comment">// (0..f)</span></div><div class="line"><a name="l05960"></a><span class="lineno"> 5960</span>&#160;                        <span class="keyword">const</span> <span class="keyword">auto</span> hexify = [](<span class="keyword">const</span> <span class="keywordtype">int</span> v) -&gt; <span class="keywordtype">char</span></div><div class="line"><a name="l05961"></a><span class="lineno"> 5961</span>&#160;                        {</div><div class="line"><a name="l05962"></a><span class="lineno"> 5962</span>&#160;                            <span class="keywordflow">return</span> (v &lt; 10)</div><div class="line"><a name="l05963"></a><span class="lineno"> 5963</span>&#160;                            ? (<span class="charliteral">&#39;0&#39;</span> + <span class="keyword">static_cast&lt;</span><span class="keywordtype">char</span><span class="keyword">&gt;</span>(v))</div><div class="line"><a name="l05964"></a><span class="lineno"> 5964</span>&#160;                            : (<span class="charliteral">&#39;a&#39;</span> + <span class="keyword">static_cast&lt;</span><span class="keywordtype">char</span><span class="keyword">&gt;</span>((v - 10) &amp; 0x1f));</div><div class="line"><a name="l05965"></a><span class="lineno"> 5965</span>&#160;                        };</div><div class="line"><a name="l05966"></a><span class="lineno"> 5966</span>&#160;</div><div class="line"><a name="l05967"></a><span class="lineno"> 5967</span>&#160;                        <span class="comment">// print character c as \uxxxx</span></div><div class="line"><a name="l05968"></a><span class="lineno"> 5968</span>&#160;                        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span> m :</div><div class="line"><a name="l05969"></a><span class="lineno"> 5969</span>&#160;                    { <span class="charliteral">&#39;u&#39;</span>, <span class="charliteral">&#39;0&#39;</span>, <span class="charliteral">&#39;0&#39;</span>, hexify(c &gt;&gt; 4), hexify(c &amp; 0x0f)</div><div class="line"><a name="l05970"></a><span class="lineno"> 5970</span>&#160;                        })</div><div class="line"><a name="l05971"></a><span class="lineno"> 5971</span>&#160;                        {</div><div class="line"><a name="l05972"></a><span class="lineno"> 5972</span>&#160;                            result[++pos] = m;</div><div class="line"><a name="l05973"></a><span class="lineno"> 5973</span>&#160;                        }</div><div class="line"><a name="l05974"></a><span class="lineno"> 5974</span>&#160;</div><div class="line"><a name="l05975"></a><span class="lineno"> 5975</span>&#160;                        ++pos;</div><div class="line"><a name="l05976"></a><span class="lineno"> 5976</span>&#160;                    }</div><div class="line"><a name="l05977"></a><span class="lineno"> 5977</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l05978"></a><span class="lineno"> 5978</span>&#160;                    {</div><div class="line"><a name="l05979"></a><span class="lineno"> 5979</span>&#160;                        <span class="comment">// all other characters are added as-is</span></div><div class="line"><a name="l05980"></a><span class="lineno"> 5980</span>&#160;                        result[pos++] = c;</div><div class="line"><a name="l05981"></a><span class="lineno"> 5981</span>&#160;                    }</div><div class="line"><a name="l05982"></a><span class="lineno"> 5982</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l05983"></a><span class="lineno"> 5983</span>&#160;                }</div><div class="line"><a name="l05984"></a><span class="lineno"> 5984</span>&#160;            }</div><div class="line"><a name="l05985"></a><span class="lineno"> 5985</span>&#160;        }</div><div class="line"><a name="l05986"></a><span class="lineno"> 5986</span>&#160;</div><div class="line"><a name="l05987"></a><span class="lineno"> 5987</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l05988"></a><span class="lineno"> 5988</span>&#160;    }</div><div class="line"><a name="l05989"></a><span class="lineno"> 5989</span>&#160;</div><div class="line"><a name="l06007"></a><span class="lineno"> 6007</span>&#160;    <span class="keywordtype">void</span> dump(std::ostream&amp; o,</div><div class="line"><a name="l06008"></a><span class="lineno"> 6008</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">bool</span> pretty_print,</div><div class="line"><a name="l06009"></a><span class="lineno"> 6009</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> indent_step,</div><div class="line"><a name="l06010"></a><span class="lineno"> 6010</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> current_indent = 0)<span class="keyword"> const</span></div><div class="line"><a name="l06011"></a><span class="lineno"> 6011</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l06012"></a><span class="lineno"> 6012</span>&#160;        <span class="comment">// variable to hold indentation for recursive calls</span></div><div class="line"><a name="l06013"></a><span class="lineno"> 6013</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> new_indent = current_indent;</div><div class="line"><a name="l06014"></a><span class="lineno"> 6014</span>&#160;</div><div class="line"><a name="l06015"></a><span class="lineno"> 6015</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l06016"></a><span class="lineno"> 6016</span>&#160;        {</div><div class="line"><a name="l06017"></a><span class="lineno"> 6017</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l06018"></a><span class="lineno"> 6018</span>&#160;            {</div><div class="line"><a name="l06019"></a><span class="lineno"> 6019</span>&#160;                assert(m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06020"></a><span class="lineno"> 6020</span>&#160;</div><div class="line"><a name="l06021"></a><span class="lineno"> 6021</span>&#160;                <span class="keywordflow">if</span> (m_value.object-&gt;empty())</div><div class="line"><a name="l06022"></a><span class="lineno"> 6022</span>&#160;                {</div><div class="line"><a name="l06023"></a><span class="lineno"> 6023</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;{}&quot;</span>;</div><div class="line"><a name="l06024"></a><span class="lineno"> 6024</span>&#160;                    <span class="keywordflow">return</span>;</div><div class="line"><a name="l06025"></a><span class="lineno"> 6025</span>&#160;                }</div><div class="line"><a name="l06026"></a><span class="lineno"> 6026</span>&#160;</div><div class="line"><a name="l06027"></a><span class="lineno"> 6027</span>&#160;                o &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l06028"></a><span class="lineno"> 6028</span>&#160;</div><div class="line"><a name="l06029"></a><span class="lineno"> 6029</span>&#160;                <span class="comment">// increase indentation</span></div><div class="line"><a name="l06030"></a><span class="lineno"> 6030</span>&#160;                <span class="keywordflow">if</span> (pretty_print)</div><div class="line"><a name="l06031"></a><span class="lineno"> 6031</span>&#160;                {</div><div class="line"><a name="l06032"></a><span class="lineno"> 6032</span>&#160;                    new_indent += indent_step;</div><div class="line"><a name="l06033"></a><span class="lineno"> 6033</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l06034"></a><span class="lineno"> 6034</span>&#160;                }</div><div class="line"><a name="l06035"></a><span class="lineno"> 6035</span>&#160;</div><div class="line"><a name="l06036"></a><span class="lineno"> 6036</span>&#160;                <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = m_value.object-&gt;cbegin(); i != m_value.object-&gt;cend(); ++i)</div><div class="line"><a name="l06037"></a><span class="lineno"> 6037</span>&#160;                {</div><div class="line"><a name="l06038"></a><span class="lineno"> 6038</span>&#160;                    <span class="keywordflow">if</span> (i != m_value.object-&gt;cbegin())</div><div class="line"><a name="l06039"></a><span class="lineno"> 6039</span>&#160;                    {</div><div class="line"><a name="l06040"></a><span class="lineno"> 6040</span>&#160;                        o &lt;&lt; (pretty_print ? <span class="stringliteral">&quot;,\n&quot;</span> : <span class="stringliteral">&quot;,&quot;</span>);</div><div class="line"><a name="l06041"></a><span class="lineno"> 6041</span>&#160;                    }</div><div class="line"><a name="l06042"></a><span class="lineno"> 6042</span>&#160;                    o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(new_indent, <span class="charliteral">&#39; &#39;</span>) &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span></div><div class="line"><a name="l06043"></a><span class="lineno"> 6043</span>&#160;                      &lt;&lt; escape_string(i-&gt;first) &lt;&lt; <span class="stringliteral">&quot;\&quot;:&quot;</span></div><div class="line"><a name="l06044"></a><span class="lineno"> 6044</span>&#160;                      &lt;&lt; (pretty_print ? <span class="stringliteral">&quot; &quot;</span> : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l06045"></a><span class="lineno"> 6045</span>&#160;                    i-&gt;second.dump(o, pretty_print, indent_step, new_indent);</div><div class="line"><a name="l06046"></a><span class="lineno"> 6046</span>&#160;                }</div><div class="line"><a name="l06047"></a><span class="lineno"> 6047</span>&#160;</div><div class="line"><a name="l06048"></a><span class="lineno"> 6048</span>&#160;                <span class="comment">// decrease indentation</span></div><div class="line"><a name="l06049"></a><span class="lineno"> 6049</span>&#160;                <span class="keywordflow">if</span> (pretty_print)</div><div class="line"><a name="l06050"></a><span class="lineno"> 6050</span>&#160;                {</div><div class="line"><a name="l06051"></a><span class="lineno"> 6051</span>&#160;                    new_indent -= indent_step;</div><div class="line"><a name="l06052"></a><span class="lineno"> 6052</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l06053"></a><span class="lineno"> 6053</span>&#160;                }</div><div class="line"><a name="l06054"></a><span class="lineno"> 6054</span>&#160;</div><div class="line"><a name="l06055"></a><span class="lineno"> 6055</span>&#160;                o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(new_indent, <span class="charliteral">&#39; &#39;</span>) + <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l06056"></a><span class="lineno"> 6056</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06057"></a><span class="lineno"> 6057</span>&#160;            }</div><div class="line"><a name="l06058"></a><span class="lineno"> 6058</span>&#160;</div><div class="line"><a name="l06059"></a><span class="lineno"> 6059</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l06060"></a><span class="lineno"> 6060</span>&#160;            {</div><div class="line"><a name="l06061"></a><span class="lineno"> 6061</span>&#160;                assert(m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06062"></a><span class="lineno"> 6062</span>&#160;</div><div class="line"><a name="l06063"></a><span class="lineno"> 6063</span>&#160;                <span class="keywordflow">if</span> (m_value.array-&gt;empty())</div><div class="line"><a name="l06064"></a><span class="lineno"> 6064</span>&#160;                {</div><div class="line"><a name="l06065"></a><span class="lineno"> 6065</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;[]&quot;</span>;</div><div class="line"><a name="l06066"></a><span class="lineno"> 6066</span>&#160;                    <span class="keywordflow">return</span>;</div><div class="line"><a name="l06067"></a><span class="lineno"> 6067</span>&#160;                }</div><div class="line"><a name="l06068"></a><span class="lineno"> 6068</span>&#160;</div><div class="line"><a name="l06069"></a><span class="lineno"> 6069</span>&#160;                o &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div><div class="line"><a name="l06070"></a><span class="lineno"> 6070</span>&#160;</div><div class="line"><a name="l06071"></a><span class="lineno"> 6071</span>&#160;                <span class="comment">// increase indentation</span></div><div class="line"><a name="l06072"></a><span class="lineno"> 6072</span>&#160;                <span class="keywordflow">if</span> (pretty_print)</div><div class="line"><a name="l06073"></a><span class="lineno"> 6073</span>&#160;                {</div><div class="line"><a name="l06074"></a><span class="lineno"> 6074</span>&#160;                    new_indent += indent_step;</div><div class="line"><a name="l06075"></a><span class="lineno"> 6075</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l06076"></a><span class="lineno"> 6076</span>&#160;                }</div><div class="line"><a name="l06077"></a><span class="lineno"> 6077</span>&#160;</div><div class="line"><a name="l06078"></a><span class="lineno"> 6078</span>&#160;                <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = m_value.array-&gt;cbegin(); i != m_value.array-&gt;cend(); ++i)</div><div class="line"><a name="l06079"></a><span class="lineno"> 6079</span>&#160;                {</div><div class="line"><a name="l06080"></a><span class="lineno"> 6080</span>&#160;                    <span class="keywordflow">if</span> (i != m_value.array-&gt;cbegin())</div><div class="line"><a name="l06081"></a><span class="lineno"> 6081</span>&#160;                    {</div><div class="line"><a name="l06082"></a><span class="lineno"> 6082</span>&#160;                        o &lt;&lt; (pretty_print ? <span class="stringliteral">&quot;,\n&quot;</span> : <span class="stringliteral">&quot;,&quot;</span>);</div><div class="line"><a name="l06083"></a><span class="lineno"> 6083</span>&#160;                    }</div><div class="line"><a name="l06084"></a><span class="lineno"> 6084</span>&#160;                    o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(new_indent, <span class="charliteral">&#39; &#39;</span>);</div><div class="line"><a name="l06085"></a><span class="lineno"> 6085</span>&#160;                    i-&gt;dump(o, pretty_print, indent_step, new_indent);</div><div class="line"><a name="l06086"></a><span class="lineno"> 6086</span>&#160;                }</div><div class="line"><a name="l06087"></a><span class="lineno"> 6087</span>&#160;</div><div class="line"><a name="l06088"></a><span class="lineno"> 6088</span>&#160;                <span class="comment">// decrease indentation</span></div><div class="line"><a name="l06089"></a><span class="lineno"> 6089</span>&#160;                <span class="keywordflow">if</span> (pretty_print)</div><div class="line"><a name="l06090"></a><span class="lineno"> 6090</span>&#160;                {</div><div class="line"><a name="l06091"></a><span class="lineno"> 6091</span>&#160;                    new_indent -= indent_step;</div><div class="line"><a name="l06092"></a><span class="lineno"> 6092</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l06093"></a><span class="lineno"> 6093</span>&#160;                }</div><div class="line"><a name="l06094"></a><span class="lineno"> 6094</span>&#160;</div><div class="line"><a name="l06095"></a><span class="lineno"> 6095</span>&#160;                o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(new_indent, <span class="charliteral">&#39; &#39;</span>) &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div><div class="line"><a name="l06096"></a><span class="lineno"> 6096</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06097"></a><span class="lineno"> 6097</span>&#160;            }</div><div class="line"><a name="l06098"></a><span class="lineno"> 6098</span>&#160;</div><div class="line"><a name="l06099"></a><span class="lineno"> 6099</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l06100"></a><span class="lineno"> 6100</span>&#160;            {</div><div class="line"><a name="l06101"></a><span class="lineno"> 6101</span>&#160;                assert(m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06102"></a><span class="lineno"> 6102</span>&#160;                o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(<span class="stringliteral">&quot;\&quot;&quot;</span>) &lt;&lt; escape_string(*m_value.string) &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span>;</div><div class="line"><a name="l06103"></a><span class="lineno"> 6103</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06104"></a><span class="lineno"> 6104</span>&#160;            }</div><div class="line"><a name="l06105"></a><span class="lineno"> 6105</span>&#160;</div><div class="line"><a name="l06106"></a><span class="lineno"> 6106</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l06107"></a><span class="lineno"> 6107</span>&#160;            {</div><div class="line"><a name="l06108"></a><span class="lineno"> 6108</span>&#160;                o &lt;&lt; (m_value.boolean ? <span class="stringliteral">&quot;true&quot;</span> : <span class="stringliteral">&quot;false&quot;</span>);</div><div class="line"><a name="l06109"></a><span class="lineno"> 6109</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06110"></a><span class="lineno"> 6110</span>&#160;            }</div><div class="line"><a name="l06111"></a><span class="lineno"> 6111</span>&#160;</div><div class="line"><a name="l06112"></a><span class="lineno"> 6112</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l06113"></a><span class="lineno"> 6113</span>&#160;            {</div><div class="line"><a name="l06114"></a><span class="lineno"> 6114</span>&#160;                o &lt;&lt; m_value.number_integer;</div><div class="line"><a name="l06115"></a><span class="lineno"> 6115</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06116"></a><span class="lineno"> 6116</span>&#160;            }</div><div class="line"><a name="l06117"></a><span class="lineno"> 6117</span>&#160;</div><div class="line"><a name="l06118"></a><span class="lineno"> 6118</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l06119"></a><span class="lineno"> 6119</span>&#160;            {</div><div class="line"><a name="l06120"></a><span class="lineno"> 6120</span>&#160;                o &lt;&lt; m_value.number_unsigned;</div><div class="line"><a name="l06121"></a><span class="lineno"> 6121</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06122"></a><span class="lineno"> 6122</span>&#160;            }</div><div class="line"><a name="l06123"></a><span class="lineno"> 6123</span>&#160;</div><div class="line"><a name="l06124"></a><span class="lineno"> 6124</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l06125"></a><span class="lineno"> 6125</span>&#160;            {</div><div class="line"><a name="l06126"></a><span class="lineno"> 6126</span>&#160;                <span class="keywordflow">if</span> (m_value.number_float == 0)</div><div class="line"><a name="l06127"></a><span class="lineno"> 6127</span>&#160;                {</div><div class="line"><a name="l06128"></a><span class="lineno"> 6128</span>&#160;                    <span class="comment">// special case for zero to get &quot;0.0&quot;/&quot;-0.0&quot;</span></div><div class="line"><a name="l06129"></a><span class="lineno"> 6129</span>&#160;                    o &lt;&lt; (std::signbit(m_value.number_float) ? <span class="stringliteral">&quot;-0.0&quot;</span> : <span class="stringliteral">&quot;0.0&quot;</span>);</div><div class="line"><a name="l06130"></a><span class="lineno"> 6130</span>&#160;                }</div><div class="line"><a name="l06131"></a><span class="lineno"> 6131</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l06132"></a><span class="lineno"> 6132</span>&#160;                {</div><div class="line"><a name="l06133"></a><span class="lineno"> 6133</span>&#160;                    <span class="comment">// Otherwise 6, 15 or 16 digits of precision allows</span></div><div class="line"><a name="l06134"></a><span class="lineno"> 6134</span>&#160;                    <span class="comment">// round-trip IEEE 754 string-&gt;float-&gt;string,</span></div><div class="line"><a name="l06135"></a><span class="lineno"> 6135</span>&#160;                    <span class="comment">// string-&gt;double-&gt;string or string-&gt;long</span></div><div class="line"><a name="l06136"></a><span class="lineno"> 6136</span>&#160;                    <span class="comment">// double-&gt;string; to be safe, we read this value from</span></div><div class="line"><a name="l06137"></a><span class="lineno"> 6137</span>&#160;                    <span class="comment">// std::numeric_limits&lt;number_float_t&gt;::digits10</span></div><div class="line"><a name="l06138"></a><span class="lineno"> 6138</span>&#160;                    o &lt;&lt; std::setprecision(std::numeric_limits&lt;double&gt;::digits10)</div><div class="line"><a name="l06139"></a><span class="lineno"> 6139</span>&#160;                      &lt;&lt; m_value.number_float;</div><div class="line"><a name="l06140"></a><span class="lineno"> 6140</span>&#160;                }</div><div class="line"><a name="l06141"></a><span class="lineno"> 6141</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06142"></a><span class="lineno"> 6142</span>&#160;            }</div><div class="line"><a name="l06143"></a><span class="lineno"> 6143</span>&#160;</div><div class="line"><a name="l06144"></a><span class="lineno"> 6144</span>&#160;            <span class="keywordflow">case</span> value_t::discarded:</div><div class="line"><a name="l06145"></a><span class="lineno"> 6145</span>&#160;            {</div><div class="line"><a name="l06146"></a><span class="lineno"> 6146</span>&#160;                o &lt;&lt; <span class="stringliteral">&quot;&lt;discarded&gt;&quot;</span>;</div><div class="line"><a name="l06147"></a><span class="lineno"> 6147</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06148"></a><span class="lineno"> 6148</span>&#160;            }</div><div class="line"><a name="l06149"></a><span class="lineno"> 6149</span>&#160;</div><div class="line"><a name="l06150"></a><span class="lineno"> 6150</span>&#160;            <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l06151"></a><span class="lineno"> 6151</span>&#160;            {</div><div class="line"><a name="l06152"></a><span class="lineno"> 6152</span>&#160;                o &lt;&lt; <span class="stringliteral">&quot;null&quot;</span>;</div><div class="line"><a name="l06153"></a><span class="lineno"> 6153</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06154"></a><span class="lineno"> 6154</span>&#160;            }</div><div class="line"><a name="l06155"></a><span class="lineno"> 6155</span>&#160;        }</div><div class="line"><a name="l06156"></a><span class="lineno"> 6156</span>&#160;    }</div><div class="line"><a name="l06157"></a><span class="lineno"> 6157</span>&#160;</div><div class="line"><a name="l06158"></a><span class="lineno"> 6158</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l06160"></a><span class="lineno"> 6160</span>&#160;    <span class="comment">// member variables //</span></div><div class="line"><a name="l06162"></a><span class="lineno"> 6162</span>&#160;<span class="comment"></span></div><div class="line"><a name="l06164"></a><span class="lineno"> 6164</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> m_type = value_t::null;</div><div class="line"><a name="l06165"></a><span class="lineno"> 6165</span>&#160;</div><div class="line"><a name="l06167"></a><span class="lineno"> 6167</span>&#160;    json_value m_value = {};</div><div class="line"><a name="l06168"></a><span class="lineno"> 6168</span>&#160;</div><div class="line"><a name="l06169"></a><span class="lineno"> 6169</span>&#160;</div><div class="line"><a name="l06170"></a><span class="lineno"> 6170</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l06172"></a><span class="lineno"> 6172</span>&#160;    <span class="comment">// iterators //</span></div><div class="line"><a name="l06174"></a><span class="lineno"> 6174</span>&#160;<span class="comment"></span></div><div class="line"><a name="l06184"></a><span class="lineno"> 6184</span>&#160;    <span class="keyword">class </span>primitive_iterator_t</div><div class="line"><a name="l06185"></a><span class="lineno"> 6185</span>&#160;    {</div><div class="line"><a name="l06186"></a><span class="lineno"> 6186</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l06188"></a><span class="lineno"> 6188</span>&#160;        <span class="keywordtype">void</span> set_begin() noexcept</div><div class="line"><a name="l06189"></a><span class="lineno"> 6189</span>&#160;        {</div><div class="line"><a name="l06190"></a><span class="lineno"> 6190</span>&#160;            m_it = begin_value;</div><div class="line"><a name="l06191"></a><span class="lineno"> 6191</span>&#160;        }</div><div class="line"><a name="l06192"></a><span class="lineno"> 6192</span>&#160;</div><div class="line"><a name="l06194"></a><span class="lineno"> 6194</span>&#160;        <span class="keywordtype">void</span> set_end() noexcept</div><div class="line"><a name="l06195"></a><span class="lineno"> 6195</span>&#160;        {</div><div class="line"><a name="l06196"></a><span class="lineno"> 6196</span>&#160;            m_it = end_value;</div><div class="line"><a name="l06197"></a><span class="lineno"> 6197</span>&#160;        }</div><div class="line"><a name="l06198"></a><span class="lineno"> 6198</span>&#160;</div><div class="line"><a name="l06200"></a><span class="lineno"> 6200</span>&#160;        constexpr <span class="keywordtype">bool</span> is_begin() <span class="keyword">const</span> noexcept</div><div class="line"><a name="l06201"></a><span class="lineno"> 6201</span>&#160;        {</div><div class="line"><a name="l06202"></a><span class="lineno"> 6202</span>&#160;            <span class="keywordflow">return</span> (m_it == begin_value);</div><div class="line"><a name="l06203"></a><span class="lineno"> 6203</span>&#160;        }</div><div class="line"><a name="l06204"></a><span class="lineno"> 6204</span>&#160;</div><div class="line"><a name="l06206"></a><span class="lineno"> 6206</span>&#160;        constexpr <span class="keywordtype">bool</span> is_end() <span class="keyword">const</span> noexcept</div><div class="line"><a name="l06207"></a><span class="lineno"> 6207</span>&#160;        {</div><div class="line"><a name="l06208"></a><span class="lineno"> 6208</span>&#160;            <span class="keywordflow">return</span> (m_it == end_value);</div><div class="line"><a name="l06209"></a><span class="lineno"> 6209</span>&#160;        }</div><div class="line"><a name="l06210"></a><span class="lineno"> 6210</span>&#160;</div><div class="line"><a name="l06212"></a><span class="lineno"> 6212</span>&#160;        <span class="keyword">operator</span> <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a>&amp; () noexcept</div><div class="line"><a name="l06213"></a><span class="lineno"> 6213</span>&#160;        {</div><div class="line"><a name="l06214"></a><span class="lineno"> 6214</span>&#160;            <span class="keywordflow">return</span> m_it;</div><div class="line"><a name="l06215"></a><span class="lineno"> 6215</span>&#160;        }</div><div class="line"><a name="l06216"></a><span class="lineno"> 6216</span>&#160;</div><div class="line"><a name="l06218"></a><span class="lineno"> 6218</span>&#160;        constexpr <span class="keyword">operator</span> <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> () <span class="keyword">const</span> noexcept</div><div class="line"><a name="l06219"></a><span class="lineno"> 6219</span>&#160;        {</div><div class="line"><a name="l06220"></a><span class="lineno"> 6220</span>&#160;            <span class="keywordflow">return</span> m_it;</div><div class="line"><a name="l06221"></a><span class="lineno"> 6221</span>&#160;        }</div><div class="line"><a name="l06222"></a><span class="lineno"> 6222</span>&#160;</div><div class="line"><a name="l06223"></a><span class="lineno"> 6223</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l06224"></a><span class="lineno"> 6224</span>&#160;        <span class="keyword">static</span> constexpr <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> begin_value = 0;</div><div class="line"><a name="l06225"></a><span class="lineno"> 6225</span>&#160;        <span class="keyword">static</span> constexpr <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> end_value = begin_value + 1;</div><div class="line"><a name="l06226"></a><span class="lineno"> 6226</span>&#160;</div><div class="line"><a name="l06228"></a><span class="lineno"> 6228</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> m_it = std::numeric_limits&lt;std::ptrdiff_t&gt;::denorm_min();</div><div class="line"><a name="l06229"></a><span class="lineno"> 6229</span>&#160;    };</div><div class="line"><a name="l06230"></a><span class="lineno"> 6230</span>&#160;</div><div class="line"><a name="l06238"></a><span class="lineno"> 6238</span>&#160;    <span class="keyword">struct </span>internal_iterator</div><div class="line"><a name="l06239"></a><span class="lineno"> 6239</span>&#160;    {</div><div class="line"><a name="l06241"></a><span class="lineno"> 6241</span>&#160;        <span class="keyword">typename</span> object_t::iterator object_iterator;</div><div class="line"><a name="l06243"></a><span class="lineno"> 6243</span>&#160;        <span class="keyword">typename</span> array_t::iterator array_iterator;</div><div class="line"><a name="l06245"></a><span class="lineno"> 6245</span>&#160;        primitive_iterator_t primitive_iterator;</div><div class="line"><a name="l06246"></a><span class="lineno"> 6246</span>&#160;</div><div class="line"><a name="l06248"></a><span class="lineno"> 6248</span>&#160;        internal_iterator() noexcept</div><div class="line"><a name="l06249"></a><span class="lineno"> 6249</span>&#160;            : object_iterator(), array_iterator(), primitive_iterator()</div><div class="line"><a name="l06250"></a><span class="lineno"> 6250</span>&#160;        {}</div><div class="line"><a name="l06251"></a><span class="lineno"> 6251</span>&#160;    };</div><div class="line"><a name="l06252"></a><span class="lineno"> 6252</span>&#160;</div><div class="line"><a name="l06254"></a><span class="lineno"> 6254</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> IteratorType&gt;</div><div class="line"><a name="l06255"></a><span class="lineno"> 6255</span>&#160;    <span class="keyword">class </span>iteration_proxy</div><div class="line"><a name="l06256"></a><span class="lineno"> 6256</span>&#160;    {</div><div class="line"><a name="l06257"></a><span class="lineno"> 6257</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l06259"></a><span class="lineno"> 6259</span>&#160;        <span class="keyword">class </span>iteration_proxy_internal</div><div class="line"><a name="l06260"></a><span class="lineno"> 6260</span>&#160;        {</div><div class="line"><a name="l06261"></a><span class="lineno"> 6261</span>&#160;          <span class="keyword">private</span>:</div><div class="line"><a name="l06263"></a><span class="lineno"> 6263</span>&#160;            IteratorType anchor;</div><div class="line"><a name="l06265"></a><span class="lineno"> 6265</span>&#160;            <span class="keywordtype">size_t</span> array_index = 0;</div><div class="line"><a name="l06266"></a><span class="lineno"> 6266</span>&#160;</div><div class="line"><a name="l06267"></a><span class="lineno"> 6267</span>&#160;          <span class="keyword">public</span>:</div><div class="line"><a name="l06268"></a><span class="lineno"> 6268</span>&#160;            <span class="keyword">explicit</span> iteration_proxy_internal(IteratorType it) noexcept</div><div class="line"><a name="l06269"></a><span class="lineno"> 6269</span>&#160;                : anchor(it)</div><div class="line"><a name="l06270"></a><span class="lineno"> 6270</span>&#160;            {}</div><div class="line"><a name="l06271"></a><span class="lineno"> 6271</span>&#160;</div><div class="line"><a name="l06273"></a><span class="lineno"> 6273</span>&#160;            iteration_proxy_internal&amp; operator*()</div><div class="line"><a name="l06274"></a><span class="lineno"> 6274</span>&#160;            {</div><div class="line"><a name="l06275"></a><span class="lineno"> 6275</span>&#160;                <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06276"></a><span class="lineno"> 6276</span>&#160;            }</div><div class="line"><a name="l06277"></a><span class="lineno"> 6277</span>&#160;</div><div class="line"><a name="l06279"></a><span class="lineno"> 6279</span>&#160;            iteration_proxy_internal&amp; operator++()</div><div class="line"><a name="l06280"></a><span class="lineno"> 6280</span>&#160;            {</div><div class="line"><a name="l06281"></a><span class="lineno"> 6281</span>&#160;                ++anchor;</div><div class="line"><a name="l06282"></a><span class="lineno"> 6282</span>&#160;                ++array_index;</div><div class="line"><a name="l06283"></a><span class="lineno"> 6283</span>&#160;</div><div class="line"><a name="l06284"></a><span class="lineno"> 6284</span>&#160;                <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06285"></a><span class="lineno"> 6285</span>&#160;            }</div><div class="line"><a name="l06286"></a><span class="lineno"> 6286</span>&#160;</div><div class="line"><a name="l06288"></a><span class="lineno"> 6288</span>&#160;            <span class="keywordtype">bool</span> operator!= (<span class="keyword">const</span> iteration_proxy_internal&amp; o)<span class="keyword"> const</span></div><div class="line"><a name="l06289"></a><span class="lineno"> 6289</span>&#160;<span class="keyword">            </span>{</div><div class="line"><a name="l06290"></a><span class="lineno"> 6290</span>&#160;                <span class="keywordflow">return</span> anchor != o.anchor;</div><div class="line"><a name="l06291"></a><span class="lineno"> 6291</span>&#160;            }</div><div class="line"><a name="l06292"></a><span class="lineno"> 6292</span>&#160;</div><div class="line"><a name="l06294"></a><span class="lineno"> 6294</span>&#160;            <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">basic_json::string_t</a> key()<span class="keyword"> const</span></div><div class="line"><a name="l06295"></a><span class="lineno"> 6295</span>&#160;<span class="keyword">            </span>{</div><div class="line"><a name="l06296"></a><span class="lineno"> 6296</span>&#160;                assert(anchor.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06297"></a><span class="lineno"> 6297</span>&#160;</div><div class="line"><a name="l06298"></a><span class="lineno"> 6298</span>&#160;                <span class="keywordflow">switch</span> (anchor.m_object-&gt;type())</div><div class="line"><a name="l06299"></a><span class="lineno"> 6299</span>&#160;                {</div><div class="line"><a name="l06300"></a><span class="lineno"> 6300</span>&#160;                    <span class="comment">// use integer array index as key</span></div><div class="line"><a name="l06301"></a><span class="lineno"> 6301</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l06302"></a><span class="lineno"> 6302</span>&#160;                    {</div><div class="line"><a name="l06303"></a><span class="lineno"> 6303</span>&#160;                        <span class="keywordflow">return</span> std::to_string(array_index);</div><div class="line"><a name="l06304"></a><span class="lineno"> 6304</span>&#160;                    }</div><div class="line"><a name="l06305"></a><span class="lineno"> 6305</span>&#160;</div><div class="line"><a name="l06306"></a><span class="lineno"> 6306</span>&#160;                    <span class="comment">// use key from the object</span></div><div class="line"><a name="l06307"></a><span class="lineno"> 6307</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l06308"></a><span class="lineno"> 6308</span>&#160;                    {</div><div class="line"><a name="l06309"></a><span class="lineno"> 6309</span>&#160;                        <span class="keywordflow">return</span> anchor.key();</div><div class="line"><a name="l06310"></a><span class="lineno"> 6310</span>&#160;                    }</div><div class="line"><a name="l06311"></a><span class="lineno"> 6311</span>&#160;</div><div class="line"><a name="l06312"></a><span class="lineno"> 6312</span>&#160;                    <span class="comment">// use an empty key for all primitive types</span></div><div class="line"><a name="l06313"></a><span class="lineno"> 6313</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l06314"></a><span class="lineno"> 6314</span>&#160;                    {</div><div class="line"><a name="l06315"></a><span class="lineno"> 6315</span>&#160;                        <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l06316"></a><span class="lineno"> 6316</span>&#160;                    }</div><div class="line"><a name="l06317"></a><span class="lineno"> 6317</span>&#160;                }</div><div class="line"><a name="l06318"></a><span class="lineno"> 6318</span>&#160;            }</div><div class="line"><a name="l06319"></a><span class="lineno"> 6319</span>&#160;</div><div class="line"><a name="l06321"></a><span class="lineno"> 6321</span>&#160;            <span class="keyword">typename</span> IteratorType::reference value()<span class="keyword"> const</span></div><div class="line"><a name="l06322"></a><span class="lineno"> 6322</span>&#160;<span class="keyword">            </span>{</div><div class="line"><a name="l06323"></a><span class="lineno"> 6323</span>&#160;                <span class="keywordflow">return</span> anchor.value();</div><div class="line"><a name="l06324"></a><span class="lineno"> 6324</span>&#160;            }</div><div class="line"><a name="l06325"></a><span class="lineno"> 6325</span>&#160;        };</div><div class="line"><a name="l06326"></a><span class="lineno"> 6326</span>&#160;</div><div class="line"><a name="l06328"></a><span class="lineno"> 6328</span>&#160;        <span class="keyword">typename</span> IteratorType::reference container;</div><div class="line"><a name="l06329"></a><span class="lineno"> 6329</span>&#160;</div><div class="line"><a name="l06330"></a><span class="lineno"> 6330</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l06332"></a><span class="lineno"> 6332</span>&#160;        <span class="keyword">explicit</span> iteration_proxy(<span class="keyword">typename</span> IteratorType::reference cont)</div><div class="line"><a name="l06333"></a><span class="lineno"> 6333</span>&#160;            : container(cont)</div><div class="line"><a name="l06334"></a><span class="lineno"> 6334</span>&#160;        {}</div><div class="line"><a name="l06335"></a><span class="lineno"> 6335</span>&#160;</div><div class="line"><a name="l06337"></a><span class="lineno"> 6337</span>&#160;        iteration_proxy_internal begin() noexcept</div><div class="line"><a name="l06338"></a><span class="lineno"> 6338</span>&#160;        {</div><div class="line"><a name="l06339"></a><span class="lineno"> 6339</span>&#160;            <span class="keywordflow">return</span> iteration_proxy_internal(container.begin());</div><div class="line"><a name="l06340"></a><span class="lineno"> 6340</span>&#160;        }</div><div class="line"><a name="l06341"></a><span class="lineno"> 6341</span>&#160;</div><div class="line"><a name="l06343"></a><span class="lineno"> 6343</span>&#160;        iteration_proxy_internal end() noexcept</div><div class="line"><a name="l06344"></a><span class="lineno"> 6344</span>&#160;        {</div><div class="line"><a name="l06345"></a><span class="lineno"> 6345</span>&#160;            <span class="keywordflow">return</span> iteration_proxy_internal(container.end());</div><div class="line"><a name="l06346"></a><span class="lineno"> 6346</span>&#160;        }</div><div class="line"><a name="l06347"></a><span class="lineno"> 6347</span>&#160;    };</div><div class="line"><a name="l06348"></a><span class="lineno"> 6348</span>&#160;</div><div class="line"><a name="l06349"></a><span class="lineno"> 6349</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l06363"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator.html"> 6363</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> : <span class="keyword">public</span> std::iterator&lt;std::random_access_iterator_tag, const basic_json&gt;</div><div class="line"><a name="l06364"></a><span class="lineno"> 6364</span>&#160;    {</div><div class="line"><a name="l06366"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html#ada3100cdb8700566051828f1355fa745"> 6366</a></span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span>basic_json;</div><div class="line"><a name="l06367"></a><span class="lineno"> 6367</span>&#160;</div><div class="line"><a name="l06368"></a><span class="lineno"> 6368</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l06370"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html#a9ea0497199b1e96ce9cadd1f202ec343"> 6370</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html#a9ea0497199b1e96ce9cadd1f202ec343">value_type</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">basic_json::value_type</a>;</div><div class="line"><a name="l06372"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f"> 6372</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">basic_json::difference_type</a>;</div><div class="line"><a name="l06374"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389"> 6374</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">basic_json::const_pointer</a>;</div><div class="line"><a name="l06376"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2"> 6376</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">basic_json::const_reference</a>;</div><div class="line"><a name="l06378"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html#a821560d64f50525162097f19b1392e7f"> 6378</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html#a821560d64f50525162097f19b1392e7f">iterator_category</a> = std::bidirectional_iterator_tag;</div><div class="line"><a name="l06379"></a><span class="lineno"> 6379</span>&#160;</div><div class="line"><a name="l06381"></a><span class="lineno"> 6381</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l06382"></a><span class="lineno"> 6382</span>&#160;</div><div class="line"><a name="l06384"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html#a23de834b11bd895209aa65c100ab9ceb"> 6384</a></span>&#160;        <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html#a23de834b11bd895209aa65c100ab9ceb">const_iterator</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> <span class="keywordtype">object</span>) noexcept</div><div class="line"><a name="l06385"></a><span class="lineno"> 6385</span>&#160;            : m_object(<span class="keywordtype">object</span>)</div><div class="line"><a name="l06386"></a><span class="lineno"> 6386</span>&#160;        {</div><div class="line"><a name="l06387"></a><span class="lineno"> 6387</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06388"></a><span class="lineno"> 6388</span>&#160;</div><div class="line"><a name="l06389"></a><span class="lineno"> 6389</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06390"></a><span class="lineno"> 6390</span>&#160;            {</div><div class="line"><a name="l06391"></a><span class="lineno"> 6391</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06392"></a><span class="lineno"> 6392</span>&#160;                {</div><div class="line"><a name="l06393"></a><span class="lineno"> 6393</span>&#160;                    m_it.object_iterator = <span class="keyword">typename</span> object_t::iterator();</div><div class="line"><a name="l06394"></a><span class="lineno"> 6394</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06395"></a><span class="lineno"> 6395</span>&#160;                }</div><div class="line"><a name="l06396"></a><span class="lineno"> 6396</span>&#160;</div><div class="line"><a name="l06397"></a><span class="lineno"> 6397</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06398"></a><span class="lineno"> 6398</span>&#160;                {</div><div class="line"><a name="l06399"></a><span class="lineno"> 6399</span>&#160;                    m_it.array_iterator = <span class="keyword">typename</span> array_t::iterator();</div><div class="line"><a name="l06400"></a><span class="lineno"> 6400</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06401"></a><span class="lineno"> 6401</span>&#160;                }</div><div class="line"><a name="l06402"></a><span class="lineno"> 6402</span>&#160;</div><div class="line"><a name="l06403"></a><span class="lineno"> 6403</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06404"></a><span class="lineno"> 6404</span>&#160;                {</div><div class="line"><a name="l06405"></a><span class="lineno"> 6405</span>&#160;                    m_it.primitive_iterator = primitive_iterator_t();</div><div class="line"><a name="l06406"></a><span class="lineno"> 6406</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06407"></a><span class="lineno"> 6407</span>&#160;                }</div><div class="line"><a name="l06408"></a><span class="lineno"> 6408</span>&#160;            }</div><div class="line"><a name="l06409"></a><span class="lineno"> 6409</span>&#160;        }</div><div class="line"><a name="l06410"></a><span class="lineno"> 6410</span>&#160;</div><div class="line"><a name="l06412"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603"> 6412</a></span>&#160;        <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">const_iterator</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; other) noexcept</div><div class="line"><a name="l06413"></a><span class="lineno"> 6413</span>&#160;            : m_object(other.m_object)</div><div class="line"><a name="l06414"></a><span class="lineno"> 6414</span>&#160;        {</div><div class="line"><a name="l06415"></a><span class="lineno"> 6415</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06416"></a><span class="lineno"> 6416</span>&#160;</div><div class="line"><a name="l06417"></a><span class="lineno"> 6417</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06418"></a><span class="lineno"> 6418</span>&#160;            {</div><div class="line"><a name="l06419"></a><span class="lineno"> 6419</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06420"></a><span class="lineno"> 6420</span>&#160;                {</div><div class="line"><a name="l06421"></a><span class="lineno"> 6421</span>&#160;                    m_it.object_iterator = other.m_it.object_iterator;</div><div class="line"><a name="l06422"></a><span class="lineno"> 6422</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06423"></a><span class="lineno"> 6423</span>&#160;                }</div><div class="line"><a name="l06424"></a><span class="lineno"> 6424</span>&#160;</div><div class="line"><a name="l06425"></a><span class="lineno"> 6425</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06426"></a><span class="lineno"> 6426</span>&#160;                {</div><div class="line"><a name="l06427"></a><span class="lineno"> 6427</span>&#160;                    m_it.array_iterator = other.m_it.array_iterator;</div><div class="line"><a name="l06428"></a><span class="lineno"> 6428</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06429"></a><span class="lineno"> 6429</span>&#160;                }</div><div class="line"><a name="l06430"></a><span class="lineno"> 6430</span>&#160;</div><div class="line"><a name="l06431"></a><span class="lineno"> 6431</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06432"></a><span class="lineno"> 6432</span>&#160;                {</div><div class="line"><a name="l06433"></a><span class="lineno"> 6433</span>&#160;                    m_it.primitive_iterator = other.m_it.primitive_iterator;</div><div class="line"><a name="l06434"></a><span class="lineno"> 6434</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06435"></a><span class="lineno"> 6435</span>&#160;                }</div><div class="line"><a name="l06436"></a><span class="lineno"> 6436</span>&#160;            }</div><div class="line"><a name="l06437"></a><span class="lineno"> 6437</span>&#160;        }</div><div class="line"><a name="l06438"></a><span class="lineno"> 6438</span>&#160;</div><div class="line"><a name="l06440"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8"> 6440</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8">const_iterator</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other) noexcept</div><div class="line"><a name="l06441"></a><span class="lineno"> 6441</span>&#160;            : m_object(other.m_object), m_it(other.m_it)</div><div class="line"><a name="l06442"></a><span class="lineno"> 6442</span>&#160;        {}</div><div class="line"><a name="l06443"></a><span class="lineno"> 6443</span>&#160;</div><div class="line"><a name="l06445"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html#a5521515067b6597cb0b55a9c547a7a2b"> 6445</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html#a5521515067b6597cb0b55a9c547a7a2b">operator=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> other) noexcept(</div><div class="line"><a name="l06446"></a><span class="lineno"> 6446</span>&#160;            std::is_nothrow_move_constructible&lt;pointer&gt;::value and</div><div class="line"><a name="l06447"></a><span class="lineno"> 6447</span>&#160;            std::is_nothrow_move_assignable&lt;pointer&gt;::value and</div><div class="line"><a name="l06448"></a><span class="lineno"> 6448</span>&#160;            std::is_nothrow_move_constructible&lt;internal_iterator&gt;::value and</div><div class="line"><a name="l06449"></a><span class="lineno"> 6449</span>&#160;            std::is_nothrow_move_assignable&lt;internal_iterator&gt;::value</div><div class="line"><a name="l06450"></a><span class="lineno"> 6450</span>&#160;        )</div><div class="line"><a name="l06451"></a><span class="lineno"> 6451</span>&#160;        {</div><div class="line"><a name="l06452"></a><span class="lineno"> 6452</span>&#160;            std::swap(m_object, other.m_object);</div><div class="line"><a name="l06453"></a><span class="lineno"> 6453</span>&#160;            std::swap(m_it, other.m_it);</div><div class="line"><a name="l06454"></a><span class="lineno"> 6454</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06455"></a><span class="lineno"> 6455</span>&#160;        }</div><div class="line"><a name="l06456"></a><span class="lineno"> 6456</span>&#160;</div><div class="line"><a name="l06457"></a><span class="lineno"> 6457</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l06459"></a><span class="lineno"> 6459</span>&#160;        <span class="keywordtype">void</span> set_begin() noexcept</div><div class="line"><a name="l06460"></a><span class="lineno"> 6460</span>&#160;        {</div><div class="line"><a name="l06461"></a><span class="lineno"> 6461</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06462"></a><span class="lineno"> 6462</span>&#160;</div><div class="line"><a name="l06463"></a><span class="lineno"> 6463</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06464"></a><span class="lineno"> 6464</span>&#160;            {</div><div class="line"><a name="l06465"></a><span class="lineno"> 6465</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06466"></a><span class="lineno"> 6466</span>&#160;                {</div><div class="line"><a name="l06467"></a><span class="lineno"> 6467</span>&#160;                    assert(m_object-&gt;m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06468"></a><span class="lineno"> 6468</span>&#160;                    m_it.object_iterator = m_object-&gt;m_value.object-&gt;begin();</div><div class="line"><a name="l06469"></a><span class="lineno"> 6469</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06470"></a><span class="lineno"> 6470</span>&#160;                }</div><div class="line"><a name="l06471"></a><span class="lineno"> 6471</span>&#160;</div><div class="line"><a name="l06472"></a><span class="lineno"> 6472</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06473"></a><span class="lineno"> 6473</span>&#160;                {</div><div class="line"><a name="l06474"></a><span class="lineno"> 6474</span>&#160;                    assert(m_object-&gt;m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06475"></a><span class="lineno"> 6475</span>&#160;                    m_it.array_iterator = m_object-&gt;m_value.array-&gt;begin();</div><div class="line"><a name="l06476"></a><span class="lineno"> 6476</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06477"></a><span class="lineno"> 6477</span>&#160;                }</div><div class="line"><a name="l06478"></a><span class="lineno"> 6478</span>&#160;</div><div class="line"><a name="l06479"></a><span class="lineno"> 6479</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">basic_json::value_t::null</a>:</div><div class="line"><a name="l06480"></a><span class="lineno"> 6480</span>&#160;                {</div><div class="line"><a name="l06481"></a><span class="lineno"> 6481</span>&#160;                    <span class="comment">// set to end so begin()==end() is true: null is empty</span></div><div class="line"><a name="l06482"></a><span class="lineno"> 6482</span>&#160;                    m_it.primitive_iterator.set_end();</div><div class="line"><a name="l06483"></a><span class="lineno"> 6483</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06484"></a><span class="lineno"> 6484</span>&#160;                }</div><div class="line"><a name="l06485"></a><span class="lineno"> 6485</span>&#160;</div><div class="line"><a name="l06486"></a><span class="lineno"> 6486</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06487"></a><span class="lineno"> 6487</span>&#160;                {</div><div class="line"><a name="l06488"></a><span class="lineno"> 6488</span>&#160;                    m_it.primitive_iterator.set_begin();</div><div class="line"><a name="l06489"></a><span class="lineno"> 6489</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06490"></a><span class="lineno"> 6490</span>&#160;                }</div><div class="line"><a name="l06491"></a><span class="lineno"> 6491</span>&#160;            }</div><div class="line"><a name="l06492"></a><span class="lineno"> 6492</span>&#160;        }</div><div class="line"><a name="l06493"></a><span class="lineno"> 6493</span>&#160;</div><div class="line"><a name="l06495"></a><span class="lineno"> 6495</span>&#160;        <span class="keywordtype">void</span> set_end() noexcept</div><div class="line"><a name="l06496"></a><span class="lineno"> 6496</span>&#160;        {</div><div class="line"><a name="l06497"></a><span class="lineno"> 6497</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06498"></a><span class="lineno"> 6498</span>&#160;</div><div class="line"><a name="l06499"></a><span class="lineno"> 6499</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06500"></a><span class="lineno"> 6500</span>&#160;            {</div><div class="line"><a name="l06501"></a><span class="lineno"> 6501</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06502"></a><span class="lineno"> 6502</span>&#160;                {</div><div class="line"><a name="l06503"></a><span class="lineno"> 6503</span>&#160;                    assert(m_object-&gt;m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06504"></a><span class="lineno"> 6504</span>&#160;                    m_it.object_iterator = m_object-&gt;m_value.object-&gt;end();</div><div class="line"><a name="l06505"></a><span class="lineno"> 6505</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06506"></a><span class="lineno"> 6506</span>&#160;                }</div><div class="line"><a name="l06507"></a><span class="lineno"> 6507</span>&#160;</div><div class="line"><a name="l06508"></a><span class="lineno"> 6508</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06509"></a><span class="lineno"> 6509</span>&#160;                {</div><div class="line"><a name="l06510"></a><span class="lineno"> 6510</span>&#160;                    assert(m_object-&gt;m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06511"></a><span class="lineno"> 6511</span>&#160;                    m_it.array_iterator = m_object-&gt;m_value.array-&gt;end();</div><div class="line"><a name="l06512"></a><span class="lineno"> 6512</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06513"></a><span class="lineno"> 6513</span>&#160;                }</div><div class="line"><a name="l06514"></a><span class="lineno"> 6514</span>&#160;</div><div class="line"><a name="l06515"></a><span class="lineno"> 6515</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06516"></a><span class="lineno"> 6516</span>&#160;                {</div><div class="line"><a name="l06517"></a><span class="lineno"> 6517</span>&#160;                    m_it.primitive_iterator.set_end();</div><div class="line"><a name="l06518"></a><span class="lineno"> 6518</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06519"></a><span class="lineno"> 6519</span>&#160;                }</div><div class="line"><a name="l06520"></a><span class="lineno"> 6520</span>&#160;            }</div><div class="line"><a name="l06521"></a><span class="lineno"> 6521</span>&#160;        }</div><div class="line"><a name="l06522"></a><span class="lineno"> 6522</span>&#160;</div><div class="line"><a name="l06523"></a><span class="lineno"> 6523</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l06525"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html#ab3029a1a83cf46dc28ad443bbad0c74d"> 6525</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html#ab3029a1a83cf46dc28ad443bbad0c74d">operator*</a>()<span class="keyword"> const</span></div><div class="line"><a name="l06526"></a><span class="lineno"> 6526</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06527"></a><span class="lineno"> 6527</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06528"></a><span class="lineno"> 6528</span>&#160;</div><div class="line"><a name="l06529"></a><span class="lineno"> 6529</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06530"></a><span class="lineno"> 6530</span>&#160;            {</div><div class="line"><a name="l06531"></a><span class="lineno"> 6531</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06532"></a><span class="lineno"> 6532</span>&#160;                {</div><div class="line"><a name="l06533"></a><span class="lineno"> 6533</span>&#160;                    assert(m_object-&gt;m_value.object);</div><div class="line"><a name="l06534"></a><span class="lineno"> 6534</span>&#160;                    assert(m_it.object_iterator != m_object-&gt;m_value.object-&gt;end());</div><div class="line"><a name="l06535"></a><span class="lineno"> 6535</span>&#160;                    <span class="keywordflow">return</span> m_it.object_iterator-&gt;second;</div><div class="line"><a name="l06536"></a><span class="lineno"> 6536</span>&#160;                }</div><div class="line"><a name="l06537"></a><span class="lineno"> 6537</span>&#160;</div><div class="line"><a name="l06538"></a><span class="lineno"> 6538</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06539"></a><span class="lineno"> 6539</span>&#160;                {</div><div class="line"><a name="l06540"></a><span class="lineno"> 6540</span>&#160;                    assert(m_object-&gt;m_value.array);</div><div class="line"><a name="l06541"></a><span class="lineno"> 6541</span>&#160;                    assert(m_it.array_iterator != m_object-&gt;m_value.array-&gt;end());</div><div class="line"><a name="l06542"></a><span class="lineno"> 6542</span>&#160;                    <span class="keywordflow">return</span> *m_it.array_iterator;</div><div class="line"><a name="l06543"></a><span class="lineno"> 6543</span>&#160;                }</div><div class="line"><a name="l06544"></a><span class="lineno"> 6544</span>&#160;</div><div class="line"><a name="l06545"></a><span class="lineno"> 6545</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">basic_json::value_t::null</a>:</div><div class="line"><a name="l06546"></a><span class="lineno"> 6546</span>&#160;                {</div><div class="line"><a name="l06547"></a><span class="lineno"> 6547</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l06548"></a><span class="lineno"> 6548</span>&#160;                }</div><div class="line"><a name="l06549"></a><span class="lineno"> 6549</span>&#160;</div><div class="line"><a name="l06550"></a><span class="lineno"> 6550</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06551"></a><span class="lineno"> 6551</span>&#160;                {</div><div class="line"><a name="l06552"></a><span class="lineno"> 6552</span>&#160;                    <span class="keywordflow">if</span> (m_it.primitive_iterator.is_begin())</div><div class="line"><a name="l06553"></a><span class="lineno"> 6553</span>&#160;                    {</div><div class="line"><a name="l06554"></a><span class="lineno"> 6554</span>&#160;                        <span class="keywordflow">return</span> *m_object;</div><div class="line"><a name="l06555"></a><span class="lineno"> 6555</span>&#160;                    }</div><div class="line"><a name="l06556"></a><span class="lineno"> 6556</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l06557"></a><span class="lineno"> 6557</span>&#160;                    {</div><div class="line"><a name="l06558"></a><span class="lineno"> 6558</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l06559"></a><span class="lineno"> 6559</span>&#160;                    }</div><div class="line"><a name="l06560"></a><span class="lineno"> 6560</span>&#160;                }</div><div class="line"><a name="l06561"></a><span class="lineno"> 6561</span>&#160;            }</div><div class="line"><a name="l06562"></a><span class="lineno"> 6562</span>&#160;        }</div><div class="line"><a name="l06563"></a><span class="lineno"> 6563</span>&#160;</div><div class="line"><a name="l06565"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html#a8be837e4d902887676dd837abe9098d3"> 6565</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html#a8be837e4d902887676dd837abe9098d3">operator-&gt;</a>()<span class="keyword"> const</span></div><div class="line"><a name="l06566"></a><span class="lineno"> 6566</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06567"></a><span class="lineno"> 6567</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06568"></a><span class="lineno"> 6568</span>&#160;</div><div class="line"><a name="l06569"></a><span class="lineno"> 6569</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06570"></a><span class="lineno"> 6570</span>&#160;            {</div><div class="line"><a name="l06571"></a><span class="lineno"> 6571</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06572"></a><span class="lineno"> 6572</span>&#160;                {</div><div class="line"><a name="l06573"></a><span class="lineno"> 6573</span>&#160;                    assert(m_object-&gt;m_value.object);</div><div class="line"><a name="l06574"></a><span class="lineno"> 6574</span>&#160;                    assert(m_it.object_iterator != m_object-&gt;m_value.object-&gt;end());</div><div class="line"><a name="l06575"></a><span class="lineno"> 6575</span>&#160;                    <span class="keywordflow">return</span> &amp;(m_it.object_iterator-&gt;second);</div><div class="line"><a name="l06576"></a><span class="lineno"> 6576</span>&#160;                }</div><div class="line"><a name="l06577"></a><span class="lineno"> 6577</span>&#160;</div><div class="line"><a name="l06578"></a><span class="lineno"> 6578</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06579"></a><span class="lineno"> 6579</span>&#160;                {</div><div class="line"><a name="l06580"></a><span class="lineno"> 6580</span>&#160;                    assert(m_object-&gt;m_value.array);</div><div class="line"><a name="l06581"></a><span class="lineno"> 6581</span>&#160;                    assert(m_it.array_iterator != m_object-&gt;m_value.array-&gt;end());</div><div class="line"><a name="l06582"></a><span class="lineno"> 6582</span>&#160;                    <span class="keywordflow">return</span> &amp;*m_it.array_iterator;</div><div class="line"><a name="l06583"></a><span class="lineno"> 6583</span>&#160;                }</div><div class="line"><a name="l06584"></a><span class="lineno"> 6584</span>&#160;</div><div class="line"><a name="l06585"></a><span class="lineno"> 6585</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06586"></a><span class="lineno"> 6586</span>&#160;                {</div><div class="line"><a name="l06587"></a><span class="lineno"> 6587</span>&#160;                    <span class="keywordflow">if</span> (m_it.primitive_iterator.is_begin())</div><div class="line"><a name="l06588"></a><span class="lineno"> 6588</span>&#160;                    {</div><div class="line"><a name="l06589"></a><span class="lineno"> 6589</span>&#160;                        <span class="keywordflow">return</span> m_object;</div><div class="line"><a name="l06590"></a><span class="lineno"> 6590</span>&#160;                    }</div><div class="line"><a name="l06591"></a><span class="lineno"> 6591</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l06592"></a><span class="lineno"> 6592</span>&#160;                    {</div><div class="line"><a name="l06593"></a><span class="lineno"> 6593</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l06594"></a><span class="lineno"> 6594</span>&#160;                    }</div><div class="line"><a name="l06595"></a><span class="lineno"> 6595</span>&#160;                }</div><div class="line"><a name="l06596"></a><span class="lineno"> 6596</span>&#160;            }</div><div class="line"><a name="l06597"></a><span class="lineno"> 6597</span>&#160;        }</div><div class="line"><a name="l06598"></a><span class="lineno"> 6598</span>&#160;</div><div class="line"><a name="l06600"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html#a8dbaec5bf8ccba3225520356629061cb"> 6600</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html#a8dbaec5bf8ccba3225520356629061cb">operator++</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l06601"></a><span class="lineno"> 6601</span>&#160;        {</div><div class="line"><a name="l06602"></a><span class="lineno"> 6602</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l06603"></a><span class="lineno"> 6603</span>&#160;            ++(*this);</div><div class="line"><a name="l06604"></a><span class="lineno"> 6604</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l06605"></a><span class="lineno"> 6605</span>&#160;        }</div><div class="line"><a name="l06606"></a><span class="lineno"> 6606</span>&#160;</div><div class="line"><a name="l06608"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html#a8fbb15efd97599209a7def77af8e748e"> 6608</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html#a8fbb15efd97599209a7def77af8e748e">operator++</a>()</div><div class="line"><a name="l06609"></a><span class="lineno"> 6609</span>&#160;        {</div><div class="line"><a name="l06610"></a><span class="lineno"> 6610</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06611"></a><span class="lineno"> 6611</span>&#160;</div><div class="line"><a name="l06612"></a><span class="lineno"> 6612</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06613"></a><span class="lineno"> 6613</span>&#160;            {</div><div class="line"><a name="l06614"></a><span class="lineno"> 6614</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06615"></a><span class="lineno"> 6615</span>&#160;                {</div><div class="line"><a name="l06616"></a><span class="lineno"> 6616</span>&#160;                    ++m_it.object_iterator;</div><div class="line"><a name="l06617"></a><span class="lineno"> 6617</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06618"></a><span class="lineno"> 6618</span>&#160;                }</div><div class="line"><a name="l06619"></a><span class="lineno"> 6619</span>&#160;</div><div class="line"><a name="l06620"></a><span class="lineno"> 6620</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06621"></a><span class="lineno"> 6621</span>&#160;                {</div><div class="line"><a name="l06622"></a><span class="lineno"> 6622</span>&#160;                    ++m_it.array_iterator;</div><div class="line"><a name="l06623"></a><span class="lineno"> 6623</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06624"></a><span class="lineno"> 6624</span>&#160;                }</div><div class="line"><a name="l06625"></a><span class="lineno"> 6625</span>&#160;</div><div class="line"><a name="l06626"></a><span class="lineno"> 6626</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06627"></a><span class="lineno"> 6627</span>&#160;                {</div><div class="line"><a name="l06628"></a><span class="lineno"> 6628</span>&#160;                    ++m_it.primitive_iterator;</div><div class="line"><a name="l06629"></a><span class="lineno"> 6629</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06630"></a><span class="lineno"> 6630</span>&#160;                }</div><div class="line"><a name="l06631"></a><span class="lineno"> 6631</span>&#160;            }</div><div class="line"><a name="l06632"></a><span class="lineno"> 6632</span>&#160;</div><div class="line"><a name="l06633"></a><span class="lineno"> 6633</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06634"></a><span class="lineno"> 6634</span>&#160;        }</div><div class="line"><a name="l06635"></a><span class="lineno"> 6635</span>&#160;</div><div class="line"><a name="l06637"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html#a6cab1c2ed7e2a014980e2a5717f43a64"> 6637</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html#a6cab1c2ed7e2a014980e2a5717f43a64">operator--</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l06638"></a><span class="lineno"> 6638</span>&#160;        {</div><div class="line"><a name="l06639"></a><span class="lineno"> 6639</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l06640"></a><span class="lineno"> 6640</span>&#160;            --(*this);</div><div class="line"><a name="l06641"></a><span class="lineno"> 6641</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l06642"></a><span class="lineno"> 6642</span>&#160;        }</div><div class="line"><a name="l06643"></a><span class="lineno"> 6643</span>&#160;</div><div class="line"><a name="l06645"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html#adeb2ff3fdf3cc301b72db109934c9199"> 6645</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html#adeb2ff3fdf3cc301b72db109934c9199">operator--</a>()</div><div class="line"><a name="l06646"></a><span class="lineno"> 6646</span>&#160;        {</div><div class="line"><a name="l06647"></a><span class="lineno"> 6647</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06648"></a><span class="lineno"> 6648</span>&#160;</div><div class="line"><a name="l06649"></a><span class="lineno"> 6649</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06650"></a><span class="lineno"> 6650</span>&#160;            {</div><div class="line"><a name="l06651"></a><span class="lineno"> 6651</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06652"></a><span class="lineno"> 6652</span>&#160;                {</div><div class="line"><a name="l06653"></a><span class="lineno"> 6653</span>&#160;                    --m_it.object_iterator;</div><div class="line"><a name="l06654"></a><span class="lineno"> 6654</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06655"></a><span class="lineno"> 6655</span>&#160;                }</div><div class="line"><a name="l06656"></a><span class="lineno"> 6656</span>&#160;</div><div class="line"><a name="l06657"></a><span class="lineno"> 6657</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06658"></a><span class="lineno"> 6658</span>&#160;                {</div><div class="line"><a name="l06659"></a><span class="lineno"> 6659</span>&#160;                    --m_it.array_iterator;</div><div class="line"><a name="l06660"></a><span class="lineno"> 6660</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06661"></a><span class="lineno"> 6661</span>&#160;                }</div><div class="line"><a name="l06662"></a><span class="lineno"> 6662</span>&#160;</div><div class="line"><a name="l06663"></a><span class="lineno"> 6663</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06664"></a><span class="lineno"> 6664</span>&#160;                {</div><div class="line"><a name="l06665"></a><span class="lineno"> 6665</span>&#160;                    --m_it.primitive_iterator;</div><div class="line"><a name="l06666"></a><span class="lineno"> 6666</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06667"></a><span class="lineno"> 6667</span>&#160;                }</div><div class="line"><a name="l06668"></a><span class="lineno"> 6668</span>&#160;            }</div><div class="line"><a name="l06669"></a><span class="lineno"> 6669</span>&#160;</div><div class="line"><a name="l06670"></a><span class="lineno"> 6670</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06671"></a><span class="lineno"> 6671</span>&#160;        }</div><div class="line"><a name="l06672"></a><span class="lineno"> 6672</span>&#160;</div><div class="line"><a name="l06674"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html#ab4c0b9baaec9ebc4837158e272f6c803"> 6674</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html#ab4c0b9baaec9ebc4837158e272f6c803">operator==</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06675"></a><span class="lineno"> 6675</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06676"></a><span class="lineno"> 6676</span>&#160;            <span class="comment">// if objects are not the same, the comparison is undefined</span></div><div class="line"><a name="l06677"></a><span class="lineno"> 6677</span>&#160;            <span class="keywordflow">if</span> (m_object != other.m_object)</div><div class="line"><a name="l06678"></a><span class="lineno"> 6678</span>&#160;            {</div><div class="line"><a name="l06679"></a><span class="lineno"> 6679</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot compare iterators of different containers&quot;</span>);</div><div class="line"><a name="l06680"></a><span class="lineno"> 6680</span>&#160;            }</div><div class="line"><a name="l06681"></a><span class="lineno"> 6681</span>&#160;</div><div class="line"><a name="l06682"></a><span class="lineno"> 6682</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06683"></a><span class="lineno"> 6683</span>&#160;</div><div class="line"><a name="l06684"></a><span class="lineno"> 6684</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06685"></a><span class="lineno"> 6685</span>&#160;            {</div><div class="line"><a name="l06686"></a><span class="lineno"> 6686</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06687"></a><span class="lineno"> 6687</span>&#160;                {</div><div class="line"><a name="l06688"></a><span class="lineno"> 6688</span>&#160;                    <span class="keywordflow">return</span> (m_it.object_iterator == other.m_it.object_iterator);</div><div class="line"><a name="l06689"></a><span class="lineno"> 6689</span>&#160;                }</div><div class="line"><a name="l06690"></a><span class="lineno"> 6690</span>&#160;</div><div class="line"><a name="l06691"></a><span class="lineno"> 6691</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06692"></a><span class="lineno"> 6692</span>&#160;                {</div><div class="line"><a name="l06693"></a><span class="lineno"> 6693</span>&#160;                    <span class="keywordflow">return</span> (m_it.array_iterator == other.m_it.array_iterator);</div><div class="line"><a name="l06694"></a><span class="lineno"> 6694</span>&#160;                }</div><div class="line"><a name="l06695"></a><span class="lineno"> 6695</span>&#160;</div><div class="line"><a name="l06696"></a><span class="lineno"> 6696</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06697"></a><span class="lineno"> 6697</span>&#160;                {</div><div class="line"><a name="l06698"></a><span class="lineno"> 6698</span>&#160;                    <span class="keywordflow">return</span> (m_it.primitive_iterator == other.m_it.primitive_iterator);</div><div class="line"><a name="l06699"></a><span class="lineno"> 6699</span>&#160;                }</div><div class="line"><a name="l06700"></a><span class="lineno"> 6700</span>&#160;            }</div><div class="line"><a name="l06701"></a><span class="lineno"> 6701</span>&#160;        }</div><div class="line"><a name="l06702"></a><span class="lineno"> 6702</span>&#160;</div><div class="line"><a name="l06704"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html#a9e4c6e48e3c2f3ff357ef8215b8c8fca"> 6704</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html#a9e4c6e48e3c2f3ff357ef8215b8c8fca">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06705"></a><span class="lineno"> 6705</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06706"></a><span class="lineno"> 6706</span>&#160;            <span class="keywordflow">return</span> not operator==(other);</div><div class="line"><a name="l06707"></a><span class="lineno"> 6707</span>&#160;        }</div><div class="line"><a name="l06708"></a><span class="lineno"> 6708</span>&#160;</div><div class="line"><a name="l06710"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html#a65f491b515e5967e9c0b40289e3c0ff3"> 6710</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html#a65f491b515e5967e9c0b40289e3c0ff3">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06711"></a><span class="lineno"> 6711</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06712"></a><span class="lineno"> 6712</span>&#160;            <span class="comment">// if objects are not the same, the comparison is undefined</span></div><div class="line"><a name="l06713"></a><span class="lineno"> 6713</span>&#160;            <span class="keywordflow">if</span> (m_object != other.m_object)</div><div class="line"><a name="l06714"></a><span class="lineno"> 6714</span>&#160;            {</div><div class="line"><a name="l06715"></a><span class="lineno"> 6715</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot compare iterators of different containers&quot;</span>);</div><div class="line"><a name="l06716"></a><span class="lineno"> 6716</span>&#160;            }</div><div class="line"><a name="l06717"></a><span class="lineno"> 6717</span>&#160;</div><div class="line"><a name="l06718"></a><span class="lineno"> 6718</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06719"></a><span class="lineno"> 6719</span>&#160;</div><div class="line"><a name="l06720"></a><span class="lineno"> 6720</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06721"></a><span class="lineno"> 6721</span>&#160;            {</div><div class="line"><a name="l06722"></a><span class="lineno"> 6722</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06723"></a><span class="lineno"> 6723</span>&#160;                {</div><div class="line"><a name="l06724"></a><span class="lineno"> 6724</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot compare order of object iterators&quot;</span>);</div><div class="line"><a name="l06725"></a><span class="lineno"> 6725</span>&#160;                }</div><div class="line"><a name="l06726"></a><span class="lineno"> 6726</span>&#160;</div><div class="line"><a name="l06727"></a><span class="lineno"> 6727</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06728"></a><span class="lineno"> 6728</span>&#160;                {</div><div class="line"><a name="l06729"></a><span class="lineno"> 6729</span>&#160;                    <span class="keywordflow">return</span> (m_it.array_iterator &lt; other.m_it.array_iterator);</div><div class="line"><a name="l06730"></a><span class="lineno"> 6730</span>&#160;                }</div><div class="line"><a name="l06731"></a><span class="lineno"> 6731</span>&#160;</div><div class="line"><a name="l06732"></a><span class="lineno"> 6732</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06733"></a><span class="lineno"> 6733</span>&#160;                {</div><div class="line"><a name="l06734"></a><span class="lineno"> 6734</span>&#160;                    <span class="keywordflow">return</span> (m_it.primitive_iterator &lt; other.m_it.primitive_iterator);</div><div class="line"><a name="l06735"></a><span class="lineno"> 6735</span>&#160;                }</div><div class="line"><a name="l06736"></a><span class="lineno"> 6736</span>&#160;            }</div><div class="line"><a name="l06737"></a><span class="lineno"> 6737</span>&#160;        }</div><div class="line"><a name="l06738"></a><span class="lineno"> 6738</span>&#160;</div><div class="line"><a name="l06740"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html#a6b682f09787eff62f03493d45aa05902"> 6740</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html#a6b682f09787eff62f03493d45aa05902">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06741"></a><span class="lineno"> 6741</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06742"></a><span class="lineno"> 6742</span>&#160;            <span class="keywordflow">return</span> not other.operator &lt; (*this);</div><div class="line"><a name="l06743"></a><span class="lineno"> 6743</span>&#160;        }</div><div class="line"><a name="l06744"></a><span class="lineno"> 6744</span>&#160;</div><div class="line"><a name="l06746"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html#acb6cd0ff760933afeb7f93e5207f3646"> 6746</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html#acb6cd0ff760933afeb7f93e5207f3646">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06747"></a><span class="lineno"> 6747</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06748"></a><span class="lineno"> 6748</span>&#160;            <span class="keywordflow">return</span> not operator&lt;=(other);</div><div class="line"><a name="l06749"></a><span class="lineno"> 6749</span>&#160;        }</div><div class="line"><a name="l06750"></a><span class="lineno"> 6750</span>&#160;</div><div class="line"><a name="l06752"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html#af6941c3711dabb2e64960dd57e00d201"> 6752</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html#af6941c3711dabb2e64960dd57e00d201">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06753"></a><span class="lineno"> 6753</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06754"></a><span class="lineno"> 6754</span>&#160;            <span class="keywordflow">return</span> not operator&lt;(other);</div><div class="line"><a name="l06755"></a><span class="lineno"> 6755</span>&#160;        }</div><div class="line"><a name="l06756"></a><span class="lineno"> 6756</span>&#160;</div><div class="line"><a name="l06758"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html#a0d5820d1dda9dea3bbeb029cacf68522"> 6758</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html#a0d5820d1dda9dea3bbeb029cacf68522">operator+=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l06759"></a><span class="lineno"> 6759</span>&#160;        {</div><div class="line"><a name="l06760"></a><span class="lineno"> 6760</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06761"></a><span class="lineno"> 6761</span>&#160;</div><div class="line"><a name="l06762"></a><span class="lineno"> 6762</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06763"></a><span class="lineno"> 6763</span>&#160;            {</div><div class="line"><a name="l06764"></a><span class="lineno"> 6764</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06765"></a><span class="lineno"> 6765</span>&#160;                {</div><div class="line"><a name="l06766"></a><span class="lineno"> 6766</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use offsets with object iterators&quot;</span>);</div><div class="line"><a name="l06767"></a><span class="lineno"> 6767</span>&#160;                }</div><div class="line"><a name="l06768"></a><span class="lineno"> 6768</span>&#160;</div><div class="line"><a name="l06769"></a><span class="lineno"> 6769</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06770"></a><span class="lineno"> 6770</span>&#160;                {</div><div class="line"><a name="l06771"></a><span class="lineno"> 6771</span>&#160;                    m_it.array_iterator += i;</div><div class="line"><a name="l06772"></a><span class="lineno"> 6772</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06773"></a><span class="lineno"> 6773</span>&#160;                }</div><div class="line"><a name="l06774"></a><span class="lineno"> 6774</span>&#160;</div><div class="line"><a name="l06775"></a><span class="lineno"> 6775</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06776"></a><span class="lineno"> 6776</span>&#160;                {</div><div class="line"><a name="l06777"></a><span class="lineno"> 6777</span>&#160;                    m_it.primitive_iterator += i;</div><div class="line"><a name="l06778"></a><span class="lineno"> 6778</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06779"></a><span class="lineno"> 6779</span>&#160;                }</div><div class="line"><a name="l06780"></a><span class="lineno"> 6780</span>&#160;            }</div><div class="line"><a name="l06781"></a><span class="lineno"> 6781</span>&#160;</div><div class="line"><a name="l06782"></a><span class="lineno"> 6782</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06783"></a><span class="lineno"> 6783</span>&#160;        }</div><div class="line"><a name="l06784"></a><span class="lineno"> 6784</span>&#160;</div><div class="line"><a name="l06786"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html#aefac8f3e390ac917f021761f4a8f8e71"> 6786</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html#aefac8f3e390ac917f021761f4a8f8e71">operator-=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l06787"></a><span class="lineno"> 6787</span>&#160;        {</div><div class="line"><a name="l06788"></a><span class="lineno"> 6788</span>&#160;            <span class="keywordflow">return</span> operator+=(-i);</div><div class="line"><a name="l06789"></a><span class="lineno"> 6789</span>&#160;        }</div><div class="line"><a name="l06790"></a><span class="lineno"> 6790</span>&#160;</div><div class="line"><a name="l06792"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html#a7a80257f2303210b0a5d056fc0b30b40"> 6792</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html#a7a80257f2303210b0a5d056fc0b30b40">operator+</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l06793"></a><span class="lineno"> 6793</span>&#160;        {</div><div class="line"><a name="l06794"></a><span class="lineno"> 6794</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l06795"></a><span class="lineno"> 6795</span>&#160;            result += i;</div><div class="line"><a name="l06796"></a><span class="lineno"> 6796</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l06797"></a><span class="lineno"> 6797</span>&#160;        }</div><div class="line"><a name="l06798"></a><span class="lineno"> 6798</span>&#160;</div><div class="line"><a name="l06800"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html#abc4552ba2fe39e7901a83dd6d4dec151"> 6800</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html#abc4552ba2fe39e7901a83dd6d4dec151">operator-</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l06801"></a><span class="lineno"> 6801</span>&#160;        {</div><div class="line"><a name="l06802"></a><span class="lineno"> 6802</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l06803"></a><span class="lineno"> 6803</span>&#160;            result -= i;</div><div class="line"><a name="l06804"></a><span class="lineno"> 6804</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l06805"></a><span class="lineno"> 6805</span>&#160;        }</div><div class="line"><a name="l06806"></a><span class="lineno"> 6806</span>&#160;</div><div class="line"><a name="l06808"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html#a5e4d98a8f95e2eccde8cd48c19efa196"> 6808</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html#a5e4d98a8f95e2eccde8cd48c19efa196">operator-</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06809"></a><span class="lineno"> 6809</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06810"></a><span class="lineno"> 6810</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06811"></a><span class="lineno"> 6811</span>&#160;</div><div class="line"><a name="l06812"></a><span class="lineno"> 6812</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06813"></a><span class="lineno"> 6813</span>&#160;            {</div><div class="line"><a name="l06814"></a><span class="lineno"> 6814</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06815"></a><span class="lineno"> 6815</span>&#160;                {</div><div class="line"><a name="l06816"></a><span class="lineno"> 6816</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use offsets with object iterators&quot;</span>);</div><div class="line"><a name="l06817"></a><span class="lineno"> 6817</span>&#160;                }</div><div class="line"><a name="l06818"></a><span class="lineno"> 6818</span>&#160;</div><div class="line"><a name="l06819"></a><span class="lineno"> 6819</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06820"></a><span class="lineno"> 6820</span>&#160;                {</div><div class="line"><a name="l06821"></a><span class="lineno"> 6821</span>&#160;                    <span class="keywordflow">return</span> m_it.array_iterator - other.m_it.array_iterator;</div><div class="line"><a name="l06822"></a><span class="lineno"> 6822</span>&#160;                }</div><div class="line"><a name="l06823"></a><span class="lineno"> 6823</span>&#160;</div><div class="line"><a name="l06824"></a><span class="lineno"> 6824</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06825"></a><span class="lineno"> 6825</span>&#160;                {</div><div class="line"><a name="l06826"></a><span class="lineno"> 6826</span>&#160;                    <span class="keywordflow">return</span> m_it.primitive_iterator - other.m_it.primitive_iterator;</div><div class="line"><a name="l06827"></a><span class="lineno"> 6827</span>&#160;                }</div><div class="line"><a name="l06828"></a><span class="lineno"> 6828</span>&#160;            }</div><div class="line"><a name="l06829"></a><span class="lineno"> 6829</span>&#160;        }</div><div class="line"><a name="l06830"></a><span class="lineno"> 6830</span>&#160;</div><div class="line"><a name="l06832"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html#a7bd530bfbbc58ac77308c087120c21fa"> 6832</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html#a7bd530bfbbc58ac77308c087120c21fa">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> n)<span class="keyword"> const</span></div><div class="line"><a name="l06833"></a><span class="lineno"> 6833</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06834"></a><span class="lineno"> 6834</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06835"></a><span class="lineno"> 6835</span>&#160;</div><div class="line"><a name="l06836"></a><span class="lineno"> 6836</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06837"></a><span class="lineno"> 6837</span>&#160;            {</div><div class="line"><a name="l06838"></a><span class="lineno"> 6838</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06839"></a><span class="lineno"> 6839</span>&#160;                {</div><div class="line"><a name="l06840"></a><span class="lineno"> 6840</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] for object iterators&quot;</span>);</div><div class="line"><a name="l06841"></a><span class="lineno"> 6841</span>&#160;                }</div><div class="line"><a name="l06842"></a><span class="lineno"> 6842</span>&#160;</div><div class="line"><a name="l06843"></a><span class="lineno"> 6843</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06844"></a><span class="lineno"> 6844</span>&#160;                {</div><div class="line"><a name="l06845"></a><span class="lineno"> 6845</span>&#160;                    <span class="keywordflow">return</span> *(m_it.array_iterator + n);</div><div class="line"><a name="l06846"></a><span class="lineno"> 6846</span>&#160;                }</div><div class="line"><a name="l06847"></a><span class="lineno"> 6847</span>&#160;</div><div class="line"><a name="l06848"></a><span class="lineno"> 6848</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">basic_json::value_t::null</a>:</div><div class="line"><a name="l06849"></a><span class="lineno"> 6849</span>&#160;                {</div><div class="line"><a name="l06850"></a><span class="lineno"> 6850</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l06851"></a><span class="lineno"> 6851</span>&#160;                }</div><div class="line"><a name="l06852"></a><span class="lineno"> 6852</span>&#160;</div><div class="line"><a name="l06853"></a><span class="lineno"> 6853</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06854"></a><span class="lineno"> 6854</span>&#160;                {</div><div class="line"><a name="l06855"></a><span class="lineno"> 6855</span>&#160;                    <span class="keywordflow">if</span> (m_it.primitive_iterator == -n)</div><div class="line"><a name="l06856"></a><span class="lineno"> 6856</span>&#160;                    {</div><div class="line"><a name="l06857"></a><span class="lineno"> 6857</span>&#160;                        <span class="keywordflow">return</span> *m_object;</div><div class="line"><a name="l06858"></a><span class="lineno"> 6858</span>&#160;                    }</div><div class="line"><a name="l06859"></a><span class="lineno"> 6859</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l06860"></a><span class="lineno"> 6860</span>&#160;                    {</div><div class="line"><a name="l06861"></a><span class="lineno"> 6861</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l06862"></a><span class="lineno"> 6862</span>&#160;                    }</div><div class="line"><a name="l06863"></a><span class="lineno"> 6863</span>&#160;                }</div><div class="line"><a name="l06864"></a><span class="lineno"> 6864</span>&#160;            }</div><div class="line"><a name="l06865"></a><span class="lineno"> 6865</span>&#160;        }</div><div class="line"><a name="l06866"></a><span class="lineno"> 6866</span>&#160;</div><div class="line"><a name="l06868"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html#a5d4320e24fcb7df041ff2c95d976dba0"> 6868</a></span>&#160;        <span class="keyword">typename</span> object_t::key_type <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html#a5d4320e24fcb7df041ff2c95d976dba0">key</a>()<span class="keyword"> const</span></div><div class="line"><a name="l06869"></a><span class="lineno"> 6869</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06870"></a><span class="lineno"> 6870</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06871"></a><span class="lineno"> 6871</span>&#160;</div><div class="line"><a name="l06872"></a><span class="lineno"> 6872</span>&#160;            <span class="keywordflow">if</span> (m_object-&gt;is_object())</div><div class="line"><a name="l06873"></a><span class="lineno"> 6873</span>&#160;            {</div><div class="line"><a name="l06874"></a><span class="lineno"> 6874</span>&#160;                <span class="keywordflow">return</span> m_it.object_iterator-&gt;first;</div><div class="line"><a name="l06875"></a><span class="lineno"> 6875</span>&#160;            }</div><div class="line"><a name="l06876"></a><span class="lineno"> 6876</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l06877"></a><span class="lineno"> 6877</span>&#160;            {</div><div class="line"><a name="l06878"></a><span class="lineno"> 6878</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use key() for non-object iterators&quot;</span>);</div><div class="line"><a name="l06879"></a><span class="lineno"> 6879</span>&#160;            }</div><div class="line"><a name="l06880"></a><span class="lineno"> 6880</span>&#160;        }</div><div class="line"><a name="l06881"></a><span class="lineno"> 6881</span>&#160;</div><div class="line"><a name="l06883"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd"> 6883</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd">value</a>()<span class="keyword"> const</span></div><div class="line"><a name="l06884"></a><span class="lineno"> 6884</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06885"></a><span class="lineno"> 6885</span>&#160;            <span class="keywordflow">return</span> operator*();</div><div class="line"><a name="l06886"></a><span class="lineno"> 6886</span>&#160;        }</div><div class="line"><a name="l06887"></a><span class="lineno"> 6887</span>&#160;</div><div class="line"><a name="l06888"></a><span class="lineno"> 6888</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l06890"></a><span class="lineno"> 6890</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> m_object = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l06892"></a><span class="lineno"> 6892</span>&#160;        internal_iterator m_it = internal_iterator();</div><div class="line"><a name="l06893"></a><span class="lineno"> 6893</span>&#160;    };</div><div class="line"><a name="l06894"></a><span class="lineno"> 6894</span>&#160;</div><div class="line"><a name="l06907"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator.html"> 6907</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> : <span class="keyword">public</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a></div><div class="line"><a name="l06908"></a><span class="lineno"> 6908</span>&#160;    {</div><div class="line"><a name="l06909"></a><span class="lineno"> 6909</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l06910"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_ac48754e4dc48d65d95294bd170dcd857.html#ac48754e4dc48d65d95294bd170dcd857"> 6910</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">base_iterator</a> = <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>;</div><div class="line"><a name="l06911"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a3aae1df93a78b201d98e178c1c7d02a7.html#a3aae1df93a78b201d98e178c1c7d02a7"> 6911</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">basic_json::pointer</a>;</div><div class="line"><a name="l06912"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a97aff5d71246774267a81066460dd1cf.html#a97aff5d71246774267a81066460dd1cf"> 6912</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">basic_json::reference</a>;</div><div class="line"><a name="l06913"></a><span class="lineno"> 6913</span>&#160;</div><div class="line"><a name="l06915"></a><span class="lineno"> 6915</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l06916"></a><span class="lineno"> 6916</span>&#160;</div><div class="line"><a name="l06918"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html#a085fe0d8cf459b5b1ae7b518b933ae7d"> 6918</a></span>&#160;        <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html#a085fe0d8cf459b5b1ae7b518b933ae7d">iterator</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> <span class="keywordtype">object</span>) noexcept</div><div class="line"><a name="l06919"></a><span class="lineno"> 6919</span>&#160;            : <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">base_iterator</a>(<span class="keywordtype">object</span>)</div><div class="line"><a name="l06920"></a><span class="lineno"> 6920</span>&#160;        {}</div><div class="line"><a name="l06921"></a><span class="lineno"> 6921</span>&#160;</div><div class="line"><a name="l06923"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html#a1de0975e812c83e74d118b3e1063f335"> 6923</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html#a1de0975e812c83e74d118b3e1063f335">iterator</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; other) noexcept</div><div class="line"><a name="l06924"></a><span class="lineno"> 6924</span>&#160;            : <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">base_iterator</a>(other)</div><div class="line"><a name="l06925"></a><span class="lineno"> 6925</span>&#160;        {}</div><div class="line"><a name="l06926"></a><span class="lineno"> 6926</span>&#160;</div><div class="line"><a name="l06928"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html#a3db892729714c4e7eaf60c00ee96e2e9"> 6928</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html#a3db892729714c4e7eaf60c00ee96e2e9">operator=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> other) noexcept(</div><div class="line"><a name="l06929"></a><span class="lineno"> 6929</span>&#160;            std::is_nothrow_move_constructible&lt;pointer&gt;::value and</div><div class="line"><a name="l06930"></a><span class="lineno"> 6930</span>&#160;            std::is_nothrow_move_assignable&lt;pointer&gt;::value and</div><div class="line"><a name="l06931"></a><span class="lineno"> 6931</span>&#160;            std::is_nothrow_move_constructible&lt;internal_iterator&gt;::value and</div><div class="line"><a name="l06932"></a><span class="lineno"> 6932</span>&#160;            std::is_nothrow_move_assignable&lt;internal_iterator&gt;::value</div><div class="line"><a name="l06933"></a><span class="lineno"> 6933</span>&#160;        )</div><div class="line"><a name="l06934"></a><span class="lineno"> 6934</span>&#160;        {</div><div class="line"><a name="l06935"></a><span class="lineno"> 6935</span>&#160;            base_iterator::operator=(other);</div><div class="line"><a name="l06936"></a><span class="lineno"> 6936</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06937"></a><span class="lineno"> 6937</span>&#160;        }</div><div class="line"><a name="l06938"></a><span class="lineno"> 6938</span>&#160;</div><div class="line"><a name="l06940"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html#acbd82115f9232c3d3b5dacc78315b9da"> 6940</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html#acbd82115f9232c3d3b5dacc78315b9da">operator*</a>()<span class="keyword"> const</span></div><div class="line"><a name="l06941"></a><span class="lineno"> 6941</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06942"></a><span class="lineno"> 6942</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a><span class="keyword">&gt;</span>(base_iterator::operator*());</div><div class="line"><a name="l06943"></a><span class="lineno"> 6943</span>&#160;        }</div><div class="line"><a name="l06944"></a><span class="lineno"> 6944</span>&#160;</div><div class="line"><a name="l06946"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html#a8de46badb5b2177c85c672a71bcca017"> 6946</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html#a8de46badb5b2177c85c672a71bcca017">operator-&gt;</a>()<span class="keyword"> const</span></div><div class="line"><a name="l06947"></a><span class="lineno"> 6947</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06948"></a><span class="lineno"> 6948</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a><span class="keyword">&gt;</span>(base_iterator::operator-&gt;());</div><div class="line"><a name="l06949"></a><span class="lineno"> 6949</span>&#160;        }</div><div class="line"><a name="l06950"></a><span class="lineno"> 6950</span>&#160;</div><div class="line"><a name="l06952"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html#a2943e49b3d88e6ee5793c5923ab2ede9"> 6952</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html#a2943e49b3d88e6ee5793c5923ab2ede9">operator++</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l06953"></a><span class="lineno"> 6953</span>&#160;        {</div><div class="line"><a name="l06954"></a><span class="lineno"> 6954</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l06955"></a><span class="lineno"> 6955</span>&#160;            base_iterator::operator++();</div><div class="line"><a name="l06956"></a><span class="lineno"> 6956</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l06957"></a><span class="lineno"> 6957</span>&#160;        }</div><div class="line"><a name="l06958"></a><span class="lineno"> 6958</span>&#160;</div><div class="line"><a name="l06960"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html#a050b7fa21051ea57e5b0cc03668b5d4a"> 6960</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html#a050b7fa21051ea57e5b0cc03668b5d4a">operator++</a>()</div><div class="line"><a name="l06961"></a><span class="lineno"> 6961</span>&#160;        {</div><div class="line"><a name="l06962"></a><span class="lineno"> 6962</span>&#160;            base_iterator::operator++();</div><div class="line"><a name="l06963"></a><span class="lineno"> 6963</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06964"></a><span class="lineno"> 6964</span>&#160;        }</div><div class="line"><a name="l06965"></a><span class="lineno"> 6965</span>&#160;</div><div class="line"><a name="l06967"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html#ab4f238aa5fcf452b1884b748b0395b1f"> 6967</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html#ab4f238aa5fcf452b1884b748b0395b1f">operator--</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l06968"></a><span class="lineno"> 6968</span>&#160;        {</div><div class="line"><a name="l06969"></a><span class="lineno"> 6969</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l06970"></a><span class="lineno"> 6970</span>&#160;            base_iterator::operator--();</div><div class="line"><a name="l06971"></a><span class="lineno"> 6971</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l06972"></a><span class="lineno"> 6972</span>&#160;        }</div><div class="line"><a name="l06973"></a><span class="lineno"> 6973</span>&#160;</div><div class="line"><a name="l06975"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html#ab3679dc63b3a59edb98b1c2b96d8683c"> 6975</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html#ab3679dc63b3a59edb98b1c2b96d8683c">operator--</a>()</div><div class="line"><a name="l06976"></a><span class="lineno"> 6976</span>&#160;        {</div><div class="line"><a name="l06977"></a><span class="lineno"> 6977</span>&#160;            base_iterator::operator--();</div><div class="line"><a name="l06978"></a><span class="lineno"> 6978</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06979"></a><span class="lineno"> 6979</span>&#160;        }</div><div class="line"><a name="l06980"></a><span class="lineno"> 6980</span>&#160;</div><div class="line"><a name="l06982"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html#ae0c848dbc0af1cde15771d45d775b27c"> 6982</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html#ae0c848dbc0af1cde15771d45d775b27c">operator+=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l06983"></a><span class="lineno"> 6983</span>&#160;        {</div><div class="line"><a name="l06984"></a><span class="lineno"> 6984</span>&#160;            base_iterator::operator+=(i);</div><div class="line"><a name="l06985"></a><span class="lineno"> 6985</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06986"></a><span class="lineno"> 6986</span>&#160;        }</div><div class="line"><a name="l06987"></a><span class="lineno"> 6987</span>&#160;</div><div class="line"><a name="l06989"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html#afe86d48d3e4e5ebdaaec162b3cf0e95c"> 6989</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html#afe86d48d3e4e5ebdaaec162b3cf0e95c">operator-=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l06990"></a><span class="lineno"> 6990</span>&#160;        {</div><div class="line"><a name="l06991"></a><span class="lineno"> 6991</span>&#160;            base_iterator::operator-=(i);</div><div class="line"><a name="l06992"></a><span class="lineno"> 6992</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06993"></a><span class="lineno"> 6993</span>&#160;        }</div><div class="line"><a name="l06994"></a><span class="lineno"> 6994</span>&#160;</div><div class="line"><a name="l06996"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html#a56952f8d5702541f0d88e6a764d2ae36"> 6996</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html#a56952f8d5702541f0d88e6a764d2ae36">operator+</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l06997"></a><span class="lineno"> 6997</span>&#160;        {</div><div class="line"><a name="l06998"></a><span class="lineno"> 6998</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l06999"></a><span class="lineno"> 6999</span>&#160;            result += i;</div><div class="line"><a name="l07000"></a><span class="lineno"> 7000</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07001"></a><span class="lineno"> 7001</span>&#160;        }</div><div class="line"><a name="l07002"></a><span class="lineno"> 7002</span>&#160;</div><div class="line"><a name="l07004"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html#a790f550ff168095c83c2e459c575916c"> 7004</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html#a790f550ff168095c83c2e459c575916c">operator-</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l07005"></a><span class="lineno"> 7005</span>&#160;        {</div><div class="line"><a name="l07006"></a><span class="lineno"> 7006</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07007"></a><span class="lineno"> 7007</span>&#160;            result -= i;</div><div class="line"><a name="l07008"></a><span class="lineno"> 7008</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07009"></a><span class="lineno"> 7009</span>&#160;        }</div><div class="line"><a name="l07010"></a><span class="lineno"> 7010</span>&#160;</div><div class="line"><a name="l07012"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html#a9f3940ac5fb2c6ff8045ed59b8a0866f"> 7012</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html#a9f3940ac5fb2c6ff8045ed59b8a0866f">operator-</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l07013"></a><span class="lineno"> 7013</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07014"></a><span class="lineno"> 7014</span>&#160;            <span class="keywordflow">return</span> base_iterator::operator-(other);</div><div class="line"><a name="l07015"></a><span class="lineno"> 7015</span>&#160;        }</div><div class="line"><a name="l07016"></a><span class="lineno"> 7016</span>&#160;</div><div class="line"><a name="l07018"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html#a7e01532727c10f87926dac4eb8e170f4"> 7018</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html#a7e01532727c10f87926dac4eb8e170f4">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> n)<span class="keyword"> const</span></div><div class="line"><a name="l07019"></a><span class="lineno"> 7019</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07020"></a><span class="lineno"> 7020</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a><span class="keyword">&gt;</span>(base_iterator::operator[](n));</div><div class="line"><a name="l07021"></a><span class="lineno"> 7021</span>&#160;        }</div><div class="line"><a name="l07022"></a><span class="lineno"> 7022</span>&#160;</div><div class="line"><a name="l07024"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f"> 7024</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f">value</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07025"></a><span class="lineno"> 7025</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07026"></a><span class="lineno"> 7026</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a><span class="keyword">&gt;</span>(base_iterator::value());</div><div class="line"><a name="l07027"></a><span class="lineno"> 7027</span>&#160;        }</div><div class="line"><a name="l07028"></a><span class="lineno"> 7028</span>&#160;    };</div><div class="line"><a name="l07029"></a><span class="lineno"> 7029</span>&#160;</div><div class="line"><a name="l07047"></a><span class="lineno"> 7047</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Base&gt;</div><div class="line"><a name="l07048"></a><span class="lineno"> 7048</span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> : <span class="keyword">public</span> std::reverse_iterator&lt;Base&gt;</div><div class="line"><a name="l07049"></a><span class="lineno"> 7049</span>&#160;    {</div><div class="line"><a name="l07050"></a><span class="lineno"> 7050</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l07052"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e"> 7052</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">base_iterator</a> = std::reverse_iterator&lt;Base&gt;;</div><div class="line"><a name="l07054"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3"> 7054</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3">reference</a> = <span class="keyword">typename</span> Base::reference;</div><div class="line"><a name="l07055"></a><span class="lineno"> 7055</span>&#160;</div><div class="line"><a name="l07057"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html#a86c97bbb8ebe19aef4656cf796e30e99"> 7057</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html#a86c97bbb8ebe19aef4656cf796e30e99">json_reverse_iterator</a>(<span class="keyword">const</span> <span class="keyword">typename</span> base_iterator::iterator_type&amp; it) noexcept</div><div class="line"><a name="l07058"></a><span class="lineno"> 7058</span>&#160;            : <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">base_iterator</a>(it)</div><div class="line"><a name="l07059"></a><span class="lineno"> 7059</span>&#160;        {}</div><div class="line"><a name="l07060"></a><span class="lineno"> 7060</span>&#160;</div><div class="line"><a name="l07062"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html#a530f042e2ab1c83dddfc344931b0375a"> 7062</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html#a530f042e2ab1c83dddfc344931b0375a">json_reverse_iterator</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">base_iterator</a>&amp; it) noexcept</div><div class="line"><a name="l07063"></a><span class="lineno"> 7063</span>&#160;            : <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">base_iterator</a>(it)</div><div class="line"><a name="l07064"></a><span class="lineno"> 7064</span>&#160;        {}</div><div class="line"><a name="l07065"></a><span class="lineno"> 7065</span>&#160;</div><div class="line"><a name="l07067"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html#a545a8204cfd6836eb85abc3113a0bb28"> 7067</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html#a545a8204cfd6836eb85abc3113a0bb28">operator++</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l07068"></a><span class="lineno"> 7068</span>&#160;        {</div><div class="line"><a name="l07069"></a><span class="lineno"> 7069</span>&#160;            <span class="keywordflow">return</span> base_iterator::operator++(1);</div><div class="line"><a name="l07070"></a><span class="lineno"> 7070</span>&#160;        }</div><div class="line"><a name="l07071"></a><span class="lineno"> 7071</span>&#160;</div><div class="line"><a name="l07073"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html#a4aede52d6ee253a510897518b59e09c0"> 7073</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html#a4aede52d6ee253a510897518b59e09c0">operator++</a>()</div><div class="line"><a name="l07074"></a><span class="lineno"> 7074</span>&#160;        {</div><div class="line"><a name="l07075"></a><span class="lineno"> 7075</span>&#160;            base_iterator::operator++();</div><div class="line"><a name="l07076"></a><span class="lineno"> 7076</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07077"></a><span class="lineno"> 7077</span>&#160;        }</div><div class="line"><a name="l07078"></a><span class="lineno"> 7078</span>&#160;</div><div class="line"><a name="l07080"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html#a693439bffe56a9a8cf53bc4a06b911ff"> 7080</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html#a693439bffe56a9a8cf53bc4a06b911ff">operator--</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l07081"></a><span class="lineno"> 7081</span>&#160;        {</div><div class="line"><a name="l07082"></a><span class="lineno"> 7082</span>&#160;            <span class="keywordflow">return</span> base_iterator::operator--(1);</div><div class="line"><a name="l07083"></a><span class="lineno"> 7083</span>&#160;        }</div><div class="line"><a name="l07084"></a><span class="lineno"> 7084</span>&#160;</div><div class="line"><a name="l07086"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html#a563a7bd281e9919798d18396107fb05c"> 7086</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html#a563a7bd281e9919798d18396107fb05c">operator--</a>()</div><div class="line"><a name="l07087"></a><span class="lineno"> 7087</span>&#160;        {</div><div class="line"><a name="l07088"></a><span class="lineno"> 7088</span>&#160;            base_iterator::operator--();</div><div class="line"><a name="l07089"></a><span class="lineno"> 7089</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07090"></a><span class="lineno"> 7090</span>&#160;        }</div><div class="line"><a name="l07091"></a><span class="lineno"> 7091</span>&#160;</div><div class="line"><a name="l07093"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html#a9accc9dd9f9033f50c0ab6bcf337ffe0"> 7093</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html#a9accc9dd9f9033f50c0ab6bcf337ffe0">operator+=</a>(<a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> i)</div><div class="line"><a name="l07094"></a><span class="lineno"> 7094</span>&#160;        {</div><div class="line"><a name="l07095"></a><span class="lineno"> 7095</span>&#160;            base_iterator::operator+=(i);</div><div class="line"><a name="l07096"></a><span class="lineno"> 7096</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07097"></a><span class="lineno"> 7097</span>&#160;        }</div><div class="line"><a name="l07098"></a><span class="lineno"> 7098</span>&#160;</div><div class="line"><a name="l07100"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html#a99ee137dab7e5c948457f6a5321b54b1"> 7100</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html#a99ee137dab7e5c948457f6a5321b54b1">operator+</a>(<a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> i)<span class="keyword"> const</span></div><div class="line"><a name="l07101"></a><span class="lineno"> 7101</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07102"></a><span class="lineno"> 7102</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07103"></a><span class="lineno"> 7103</span>&#160;            result += i;</div><div class="line"><a name="l07104"></a><span class="lineno"> 7104</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07105"></a><span class="lineno"> 7105</span>&#160;        }</div><div class="line"><a name="l07106"></a><span class="lineno"> 7106</span>&#160;</div><div class="line"><a name="l07108"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html#ac2634bee082633671125e909dffad40a"> 7108</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html#ac2634bee082633671125e909dffad40a">operator-</a>(<a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> i)<span class="keyword"> const</span></div><div class="line"><a name="l07109"></a><span class="lineno"> 7109</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07110"></a><span class="lineno"> 7110</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07111"></a><span class="lineno"> 7111</span>&#160;            result -= i;</div><div class="line"><a name="l07112"></a><span class="lineno"> 7112</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07113"></a><span class="lineno"> 7113</span>&#160;        }</div><div class="line"><a name="l07114"></a><span class="lineno"> 7114</span>&#160;</div><div class="line"><a name="l07116"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html#a115fae3dd8ae02669fedae0545ce1cbc"> 7116</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html#a115fae3dd8ae02669fedae0545ce1cbc">operator-</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l07117"></a><span class="lineno"> 7117</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07118"></a><span class="lineno"> 7118</span>&#160;            <span class="keywordflow">return</span> this-&gt;base() - other.base();</div><div class="line"><a name="l07119"></a><span class="lineno"> 7119</span>&#160;        }</div><div class="line"><a name="l07120"></a><span class="lineno"> 7120</span>&#160;</div><div class="line"><a name="l07122"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html#ad4ec2bbb8347e7aa3b58e616fd6c7f40"> 7122</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html#ad4ec2bbb8347e7aa3b58e616fd6c7f40">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> n)<span class="keyword"> const</span></div><div class="line"><a name="l07123"></a><span class="lineno"> 7123</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07124"></a><span class="lineno"> 7124</span>&#160;            <span class="keywordflow">return</span> *(this-&gt;operator+(n));</div><div class="line"><a name="l07125"></a><span class="lineno"> 7125</span>&#160;        }</div><div class="line"><a name="l07126"></a><span class="lineno"> 7126</span>&#160;</div><div class="line"><a name="l07128"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html#acecae6d237fcf14c909fb42b9d2e2955"> 7128</a></span>&#160;        <span class="keyword">typename</span> object_t::key_type <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html#acecae6d237fcf14c909fb42b9d2e2955">key</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07129"></a><span class="lineno"> 7129</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07130"></a><span class="lineno"> 7130</span>&#160;            <span class="keyword">auto</span> it = --this-&gt;base();</div><div class="line"><a name="l07131"></a><span class="lineno"> 7131</span>&#160;            <span class="keywordflow">return</span> it.key();</div><div class="line"><a name="l07132"></a><span class="lineno"> 7132</span>&#160;        }</div><div class="line"><a name="l07133"></a><span class="lineno"> 7133</span>&#160;</div><div class="line"><a name="l07135"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b"> 7135</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b">value</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07136"></a><span class="lineno"> 7136</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07137"></a><span class="lineno"> 7137</span>&#160;            <span class="keyword">auto</span> it = --this-&gt;base();</div><div class="line"><a name="l07138"></a><span class="lineno"> 7138</span>&#160;            <span class="keywordflow">return</span> it.operator * ();</div><div class="line"><a name="l07139"></a><span class="lineno"> 7139</span>&#160;        }</div><div class="line"><a name="l07140"></a><span class="lineno"> 7140</span>&#160;    };</div><div class="line"><a name="l07141"></a><span class="lineno"> 7141</span>&#160;</div><div class="line"><a name="l07142"></a><span class="lineno"> 7142</span>&#160;</div><div class="line"><a name="l07143"></a><span class="lineno"> 7143</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l07145"></a><span class="lineno"> 7145</span>&#160;    <span class="comment">// lexer and parser //</span></div><div class="line"><a name="l07147"></a><span class="lineno"> 7147</span>&#160;<span class="comment"></span></div><div class="line"><a name="l07155"></a><span class="lineno"> 7155</span>&#160;    <span class="keyword">class </span>lexer</div><div class="line"><a name="l07156"></a><span class="lineno"> 7156</span>&#160;    {</div><div class="line"><a name="l07157"></a><span class="lineno"> 7157</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l07159"></a><span class="lineno"> 7159</span>&#160;        <span class="keyword">enum class</span> token_type</div><div class="line"><a name="l07160"></a><span class="lineno"> 7160</span>&#160;        {</div><div class="line"><a name="l07161"></a><span class="lineno"> 7161</span>&#160;            uninitialized,   </div><div class="line"><a name="l07162"></a><span class="lineno"> 7162</span>&#160;            literal_true,    </div><div class="line"><a name="l07163"></a><span class="lineno"> 7163</span>&#160;            literal_false,   </div><div class="line"><a name="l07164"></a><span class="lineno"> 7164</span>&#160;            literal_null,    </div><div class="line"><a name="l07165"></a><span class="lineno"> 7165</span>&#160;            value_string,    </div><div class="line"><a name="l07166"></a><span class="lineno"> 7166</span>&#160;            value_number,    </div><div class="line"><a name="l07167"></a><span class="lineno"> 7167</span>&#160;            begin_array,     </div><div class="line"><a name="l07168"></a><span class="lineno"> 7168</span>&#160;            begin_object,    </div><div class="line"><a name="l07169"></a><span class="lineno"> 7169</span>&#160;            end_array,       </div><div class="line"><a name="l07170"></a><span class="lineno"> 7170</span>&#160;            end_object,      </div><div class="line"><a name="l07171"></a><span class="lineno"> 7171</span>&#160;            name_separator,  </div><div class="line"><a name="l07172"></a><span class="lineno"> 7172</span>&#160;            value_separator, </div><div class="line"><a name="l07173"></a><span class="lineno"> 7173</span>&#160;            parse_error,     </div><div class="line"><a name="l07174"></a><span class="lineno"> 7174</span>&#160;            end_of_input     </div><div class="line"><a name="l07175"></a><span class="lineno"> 7175</span>&#160;        };</div><div class="line"><a name="l07176"></a><span class="lineno"> 7176</span>&#160;</div><div class="line"><a name="l07178"></a><span class="lineno"> 7178</span>&#160;        <span class="keyword">using</span> lexer_char_t = <span class="keywordtype">unsigned</span> char;</div><div class="line"><a name="l07179"></a><span class="lineno"> 7179</span>&#160;</div><div class="line"><a name="l07181"></a><span class="lineno"> 7181</span>&#160;        <span class="keyword">explicit</span> lexer(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s) noexcept</div><div class="line"><a name="l07182"></a><span class="lineno"> 7182</span>&#160;            : m_stream(<span class="keyword">nullptr</span>), m_buffer(s)</div><div class="line"><a name="l07183"></a><span class="lineno"> 7183</span>&#160;        {</div><div class="line"><a name="l07184"></a><span class="lineno"> 7184</span>&#160;            m_content = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>lexer_char_t*<span class="keyword">&gt;</span>(s.c_str());</div><div class="line"><a name="l07185"></a><span class="lineno"> 7185</span>&#160;            assert(m_content != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07186"></a><span class="lineno"> 7186</span>&#160;            m_start = m_cursor = m_content;</div><div class="line"><a name="l07187"></a><span class="lineno"> 7187</span>&#160;            m_limit = m_content + s.size();</div><div class="line"><a name="l07188"></a><span class="lineno"> 7188</span>&#160;        }</div><div class="line"><a name="l07189"></a><span class="lineno"> 7189</span>&#160;</div><div class="line"><a name="l07191"></a><span class="lineno"> 7191</span>&#160;        <span class="keyword">explicit</span> lexer(std::istream* s) noexcept</div><div class="line"><a name="l07192"></a><span class="lineno"> 7192</span>&#160;            : m_stream(s), m_buffer()</div><div class="line"><a name="l07193"></a><span class="lineno"> 7193</span>&#160;        {</div><div class="line"><a name="l07194"></a><span class="lineno"> 7194</span>&#160;            assert(m_stream != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07195"></a><span class="lineno"> 7195</span>&#160;            getline(*m_stream, m_buffer);</div><div class="line"><a name="l07196"></a><span class="lineno"> 7196</span>&#160;            m_content = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>lexer_char_t*<span class="keyword">&gt;</span>(m_buffer.c_str());</div><div class="line"><a name="l07197"></a><span class="lineno"> 7197</span>&#160;            assert(m_content != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07198"></a><span class="lineno"> 7198</span>&#160;            m_start = m_cursor = m_content;</div><div class="line"><a name="l07199"></a><span class="lineno"> 7199</span>&#160;            m_limit = m_content + m_buffer.size();</div><div class="line"><a name="l07200"></a><span class="lineno"> 7200</span>&#160;        }</div><div class="line"><a name="l07201"></a><span class="lineno"> 7201</span>&#160;</div><div class="line"><a name="l07203"></a><span class="lineno"> 7203</span>&#160;        lexer() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l07204"></a><span class="lineno"> 7204</span>&#160;</div><div class="line"><a name="l07205"></a><span class="lineno"> 7205</span>&#160;        <span class="comment">// switch off unwanted functions</span></div><div class="line"><a name="l07206"></a><span class="lineno"> 7206</span>&#160;        lexer(<span class="keyword">const</span> lexer&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l07207"></a><span class="lineno"> 7207</span>&#160;        lexer operator=(<span class="keyword">const</span> lexer&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l07208"></a><span class="lineno"> 7208</span>&#160;</div><div class="line"><a name="l07224"></a><span class="lineno"> 7224</span>&#160;        <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> to_unicode(<span class="keyword">const</span> std::size_t codepoint1,</div><div class="line"><a name="l07225"></a><span class="lineno"> 7225</span>&#160;                                   <span class="keyword">const</span> std::size_t codepoint2 = 0)</div><div class="line"><a name="l07226"></a><span class="lineno"> 7226</span>&#160;        {</div><div class="line"><a name="l07227"></a><span class="lineno"> 7227</span>&#160;            <span class="comment">// calculate the codepoint from the given code points</span></div><div class="line"><a name="l07228"></a><span class="lineno"> 7228</span>&#160;            std::size_t codepoint = codepoint1;</div><div class="line"><a name="l07229"></a><span class="lineno"> 7229</span>&#160;</div><div class="line"><a name="l07230"></a><span class="lineno"> 7230</span>&#160;            <span class="comment">// check if codepoint1 is a high surrogate</span></div><div class="line"><a name="l07231"></a><span class="lineno"> 7231</span>&#160;            <span class="keywordflow">if</span> (codepoint1 &gt;= 0xD800 and codepoint1 &lt;= 0xDBFF)</div><div class="line"><a name="l07232"></a><span class="lineno"> 7232</span>&#160;            {</div><div class="line"><a name="l07233"></a><span class="lineno"> 7233</span>&#160;                <span class="comment">// check if codepoint2 is a low surrogate</span></div><div class="line"><a name="l07234"></a><span class="lineno"> 7234</span>&#160;                <span class="keywordflow">if</span> (codepoint2 &gt;= 0xDC00 and codepoint2 &lt;= 0xDFFF)</div><div class="line"><a name="l07235"></a><span class="lineno"> 7235</span>&#160;                {</div><div class="line"><a name="l07236"></a><span class="lineno"> 7236</span>&#160;                    codepoint =</div><div class="line"><a name="l07237"></a><span class="lineno"> 7237</span>&#160;                        <span class="comment">// high surrogate occupies the most significant 22 bits</span></div><div class="line"><a name="l07238"></a><span class="lineno"> 7238</span>&#160;                        (codepoint1 &lt;&lt; 10)</div><div class="line"><a name="l07239"></a><span class="lineno"> 7239</span>&#160;                        <span class="comment">// low surrogate occupies the least significant 15 bits</span></div><div class="line"><a name="l07240"></a><span class="lineno"> 7240</span>&#160;                        + codepoint2</div><div class="line"><a name="l07241"></a><span class="lineno"> 7241</span>&#160;                        <span class="comment">// there is still the 0xD800, 0xDC00 and 0x10000 noise</span></div><div class="line"><a name="l07242"></a><span class="lineno"> 7242</span>&#160;                        <span class="comment">// in the result so we have to subtract with:</span></div><div class="line"><a name="l07243"></a><span class="lineno"> 7243</span>&#160;                        <span class="comment">// (0xD800 &lt;&lt; 10) + DC00 - 0x10000 = 0x35FDC00</span></div><div class="line"><a name="l07244"></a><span class="lineno"> 7244</span>&#160;                        - 0x35FDC00;</div><div class="line"><a name="l07245"></a><span class="lineno"> 7245</span>&#160;                }</div><div class="line"><a name="l07246"></a><span class="lineno"> 7246</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07247"></a><span class="lineno"> 7247</span>&#160;                {</div><div class="line"><a name="l07248"></a><span class="lineno"> 7248</span>&#160;                    <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;missing or wrong low surrogate&quot;</span>);</div><div class="line"><a name="l07249"></a><span class="lineno"> 7249</span>&#160;                }</div><div class="line"><a name="l07250"></a><span class="lineno"> 7250</span>&#160;            }</div><div class="line"><a name="l07251"></a><span class="lineno"> 7251</span>&#160;</div><div class="line"><a name="l07252"></a><span class="lineno"> 7252</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> result;</div><div class="line"><a name="l07253"></a><span class="lineno"> 7253</span>&#160;</div><div class="line"><a name="l07254"></a><span class="lineno"> 7254</span>&#160;            <span class="keywordflow">if</span> (codepoint &lt; 0x80)</div><div class="line"><a name="l07255"></a><span class="lineno"> 7255</span>&#160;            {</div><div class="line"><a name="l07256"></a><span class="lineno"> 7256</span>&#160;                <span class="comment">// 1-byte characters: 0xxxxxxx (ASCII)</span></div><div class="line"><a name="l07257"></a><span class="lineno"> 7257</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(codepoint));</div><div class="line"><a name="l07258"></a><span class="lineno"> 7258</span>&#160;            }</div><div class="line"><a name="l07259"></a><span class="lineno"> 7259</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (codepoint &lt;= 0x7ff)</div><div class="line"><a name="l07260"></a><span class="lineno"> 7260</span>&#160;            {</div><div class="line"><a name="l07261"></a><span class="lineno"> 7261</span>&#160;                <span class="comment">// 2-byte characters: 110xxxxx 10xxxxxx</span></div><div class="line"><a name="l07262"></a><span class="lineno"> 7262</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0xC0 | ((codepoint &gt;&gt; 6) &amp; 0x1F)));</div><div class="line"><a name="l07263"></a><span class="lineno"> 7263</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | (codepoint &amp; 0x3F)));</div><div class="line"><a name="l07264"></a><span class="lineno"> 7264</span>&#160;            }</div><div class="line"><a name="l07265"></a><span class="lineno"> 7265</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (codepoint &lt;= 0xffff)</div><div class="line"><a name="l07266"></a><span class="lineno"> 7266</span>&#160;            {</div><div class="line"><a name="l07267"></a><span class="lineno"> 7267</span>&#160;                <span class="comment">// 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx</span></div><div class="line"><a name="l07268"></a><span class="lineno"> 7268</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0xE0 | ((codepoint &gt;&gt; 12) &amp; 0x0F)));</div><div class="line"><a name="l07269"></a><span class="lineno"> 7269</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | ((codepoint &gt;&gt; 6) &amp; 0x3F)));</div><div class="line"><a name="l07270"></a><span class="lineno"> 7270</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | (codepoint &amp; 0x3F)));</div><div class="line"><a name="l07271"></a><span class="lineno"> 7271</span>&#160;            }</div><div class="line"><a name="l07272"></a><span class="lineno"> 7272</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (codepoint &lt;= 0x10ffff)</div><div class="line"><a name="l07273"></a><span class="lineno"> 7273</span>&#160;            {</div><div class="line"><a name="l07274"></a><span class="lineno"> 7274</span>&#160;                <span class="comment">// 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx</span></div><div class="line"><a name="l07275"></a><span class="lineno"> 7275</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0xF0 | ((codepoint &gt;&gt; 18) &amp; 0x07)));</div><div class="line"><a name="l07276"></a><span class="lineno"> 7276</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | ((codepoint &gt;&gt; 12) &amp; 0x3F)));</div><div class="line"><a name="l07277"></a><span class="lineno"> 7277</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | ((codepoint &gt;&gt; 6) &amp; 0x3F)));</div><div class="line"><a name="l07278"></a><span class="lineno"> 7278</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | (codepoint &amp; 0x3F)));</div><div class="line"><a name="l07279"></a><span class="lineno"> 7279</span>&#160;            }</div><div class="line"><a name="l07280"></a><span class="lineno"> 7280</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l07281"></a><span class="lineno"> 7281</span>&#160;            {</div><div class="line"><a name="l07282"></a><span class="lineno"> 7282</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;code points above 0x10FFFF are invalid&quot;</span>);</div><div class="line"><a name="l07283"></a><span class="lineno"> 7283</span>&#160;            }</div><div class="line"><a name="l07284"></a><span class="lineno"> 7284</span>&#160;</div><div class="line"><a name="l07285"></a><span class="lineno"> 7285</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07286"></a><span class="lineno"> 7286</span>&#160;        }</div><div class="line"><a name="l07287"></a><span class="lineno"> 7287</span>&#160;</div><div class="line"><a name="l07289"></a><span class="lineno"> 7289</span>&#160;        <span class="keyword">static</span> std::string token_type_name(token_type t)</div><div class="line"><a name="l07290"></a><span class="lineno"> 7290</span>&#160;        {</div><div class="line"><a name="l07291"></a><span class="lineno"> 7291</span>&#160;            <span class="keywordflow">switch</span> (t)</div><div class="line"><a name="l07292"></a><span class="lineno"> 7292</span>&#160;            {</div><div class="line"><a name="l07293"></a><span class="lineno"> 7293</span>&#160;                <span class="keywordflow">case</span> token_type::uninitialized:</div><div class="line"><a name="l07294"></a><span class="lineno"> 7294</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&lt;uninitialized&gt;&quot;</span>;</div><div class="line"><a name="l07295"></a><span class="lineno"> 7295</span>&#160;                <span class="keywordflow">case</span> token_type::literal_true:</div><div class="line"><a name="l07296"></a><span class="lineno"> 7296</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;true literal&quot;</span>;</div><div class="line"><a name="l07297"></a><span class="lineno"> 7297</span>&#160;                <span class="keywordflow">case</span> token_type::literal_false:</div><div class="line"><a name="l07298"></a><span class="lineno"> 7298</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;false literal&quot;</span>;</div><div class="line"><a name="l07299"></a><span class="lineno"> 7299</span>&#160;                <span class="keywordflow">case</span> token_type::literal_null:</div><div class="line"><a name="l07300"></a><span class="lineno"> 7300</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;null literal&quot;</span>;</div><div class="line"><a name="l07301"></a><span class="lineno"> 7301</span>&#160;                <span class="keywordflow">case</span> token_type::value_string:</div><div class="line"><a name="l07302"></a><span class="lineno"> 7302</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;string literal&quot;</span>;</div><div class="line"><a name="l07303"></a><span class="lineno"> 7303</span>&#160;                <span class="keywordflow">case</span> token_type::value_number:</div><div class="line"><a name="l07304"></a><span class="lineno"> 7304</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;number literal&quot;</span>;</div><div class="line"><a name="l07305"></a><span class="lineno"> 7305</span>&#160;                <span class="keywordflow">case</span> token_type::begin_array:</div><div class="line"><a name="l07306"></a><span class="lineno"> 7306</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;[&#39;&quot;</span>;</div><div class="line"><a name="l07307"></a><span class="lineno"> 7307</span>&#160;                <span class="keywordflow">case</span> token_type::begin_object:</div><div class="line"><a name="l07308"></a><span class="lineno"> 7308</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;{&#39;&quot;</span>;</div><div class="line"><a name="l07309"></a><span class="lineno"> 7309</span>&#160;                <span class="keywordflow">case</span> token_type::end_array:</div><div class="line"><a name="l07310"></a><span class="lineno"> 7310</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;]&#39;&quot;</span>;</div><div class="line"><a name="l07311"></a><span class="lineno"> 7311</span>&#160;                <span class="keywordflow">case</span> token_type::end_object:</div><div class="line"><a name="l07312"></a><span class="lineno"> 7312</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;}&#39;&quot;</span>;</div><div class="line"><a name="l07313"></a><span class="lineno"> 7313</span>&#160;                <span class="keywordflow">case</span> token_type::name_separator:</div><div class="line"><a name="l07314"></a><span class="lineno"> 7314</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;:&#39;&quot;</span>;</div><div class="line"><a name="l07315"></a><span class="lineno"> 7315</span>&#160;                <span class="keywordflow">case</span> token_type::value_separator:</div><div class="line"><a name="l07316"></a><span class="lineno"> 7316</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;,&#39;&quot;</span>;</div><div class="line"><a name="l07317"></a><span class="lineno"> 7317</span>&#160;                <span class="keywordflow">case</span> token_type::parse_error:</div><div class="line"><a name="l07318"></a><span class="lineno"> 7318</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&lt;parse error&gt;&quot;</span>;</div><div class="line"><a name="l07319"></a><span class="lineno"> 7319</span>&#160;                <span class="keywordflow">case</span> token_type::end_of_input:</div><div class="line"><a name="l07320"></a><span class="lineno"> 7320</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;end of input&quot;</span>;</div><div class="line"><a name="l07321"></a><span class="lineno"> 7321</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l07322"></a><span class="lineno"> 7322</span>&#160;                {</div><div class="line"><a name="l07323"></a><span class="lineno"> 7323</span>&#160;                    <span class="comment">// catch non-enum values</span></div><div class="line"><a name="l07324"></a><span class="lineno"> 7324</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;unknown token&quot;</span>; <span class="comment">// LCOV_EXCL_LINE</span></div><div class="line"><a name="l07325"></a><span class="lineno"> 7325</span>&#160;                }</div><div class="line"><a name="l07326"></a><span class="lineno"> 7326</span>&#160;            }</div><div class="line"><a name="l07327"></a><span class="lineno"> 7327</span>&#160;        }</div><div class="line"><a name="l07328"></a><span class="lineno"> 7328</span>&#160;</div><div class="line"><a name="l07339"></a><span class="lineno"> 7339</span>&#160;        token_type scan() noexcept</div><div class="line"><a name="l07340"></a><span class="lineno"> 7340</span>&#160;        {</div><div class="line"><a name="l07341"></a><span class="lineno"> 7341</span>&#160;            <span class="comment">// pointer for backtracking information</span></div><div class="line"><a name="l07342"></a><span class="lineno"> 7342</span>&#160;            m_marker = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l07343"></a><span class="lineno"> 7343</span>&#160;</div><div class="line"><a name="l07344"></a><span class="lineno"> 7344</span>&#160;            <span class="comment">// remember the begin of the token</span></div><div class="line"><a name="l07345"></a><span class="lineno"> 7345</span>&#160;            m_start = m_cursor;</div><div class="line"><a name="l07346"></a><span class="lineno"> 7346</span>&#160;            assert(m_start != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07347"></a><span class="lineno"> 7347</span>&#160;</div><div class="line"><a name="l07348"></a><span class="lineno"> 7348</span>&#160;</div><div class="line"><a name="l07349"></a><span class="lineno"> 7349</span>&#160;            {</div><div class="line"><a name="l07350"></a><span class="lineno"> 7350</span>&#160;                lexer_char_t yych;</div><div class="line"><a name="l07351"></a><span class="lineno"> 7351</span>&#160;                <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> yyaccept = 0;</div><div class="line"><a name="l07352"></a><span class="lineno"> 7352</span>&#160;                <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> yybm[] =</div><div class="line"><a name="l07353"></a><span class="lineno"> 7353</span>&#160;                {</div><div class="line"><a name="l07354"></a><span class="lineno"> 7354</span>&#160;                    0,   0,   0,   0,   0,   0,   0,   0,</div><div class="line"><a name="l07355"></a><span class="lineno"> 7355</span>&#160;                    0,  32,  32,   0,   0,  32,   0,   0,</div><div class="line"><a name="l07356"></a><span class="lineno"> 7356</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07357"></a><span class="lineno"> 7357</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07358"></a><span class="lineno"> 7358</span>&#160;                    160, 128,   0, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07359"></a><span class="lineno"> 7359</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07360"></a><span class="lineno"> 7360</span>&#160;                    192, 192, 192, 192, 192, 192, 192, 192,</div><div class="line"><a name="l07361"></a><span class="lineno"> 7361</span>&#160;                    192, 192, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07362"></a><span class="lineno"> 7362</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07363"></a><span class="lineno"> 7363</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07364"></a><span class="lineno"> 7364</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07365"></a><span class="lineno"> 7365</span>&#160;                    128, 128, 128, 128,   0, 128, 128, 128,</div><div class="line"><a name="l07366"></a><span class="lineno"> 7366</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07367"></a><span class="lineno"> 7367</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07368"></a><span class="lineno"> 7368</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07369"></a><span class="lineno"> 7369</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07370"></a><span class="lineno"> 7370</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07371"></a><span class="lineno"> 7371</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07372"></a><span class="lineno"> 7372</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07373"></a><span class="lineno"> 7373</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07374"></a><span class="lineno"> 7374</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07375"></a><span class="lineno"> 7375</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07376"></a><span class="lineno"> 7376</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07377"></a><span class="lineno"> 7377</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07378"></a><span class="lineno"> 7378</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07379"></a><span class="lineno"> 7379</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07380"></a><span class="lineno"> 7380</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07381"></a><span class="lineno"> 7381</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07382"></a><span class="lineno"> 7382</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07383"></a><span class="lineno"> 7383</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07384"></a><span class="lineno"> 7384</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07385"></a><span class="lineno"> 7385</span>&#160;                    128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07386"></a><span class="lineno"> 7386</span>&#160;                };</div><div class="line"><a name="l07387"></a><span class="lineno"> 7387</span>&#160;                <span class="keywordflow">if</span> ((m_limit - m_cursor) &lt; 5)</div><div class="line"><a name="l07388"></a><span class="lineno"> 7388</span>&#160;                {</div><div class="line"><a name="l07389"></a><span class="lineno"> 7389</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07390"></a><span class="lineno"> 7390</span>&#160;                }</div><div class="line"><a name="l07391"></a><span class="lineno"> 7391</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l07392"></a><span class="lineno"> 7392</span>&#160;                <span class="keywordflow">if</span> (yybm[0 + yych] &amp; 32)</div><div class="line"><a name="l07393"></a><span class="lineno"> 7393</span>&#160;                {</div><div class="line"><a name="l07394"></a><span class="lineno"> 7394</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_6;</div><div class="line"><a name="l07395"></a><span class="lineno"> 7395</span>&#160;                }</div><div class="line"><a name="l07396"></a><span class="lineno"> 7396</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;\\&#39;</span>)</div><div class="line"><a name="l07397"></a><span class="lineno"> 7397</span>&#160;                {</div><div class="line"><a name="l07398"></a><span class="lineno"> 7398</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;-&#39;</span>)</div><div class="line"><a name="l07399"></a><span class="lineno"> 7399</span>&#160;                    {</div><div class="line"><a name="l07400"></a><span class="lineno"> 7400</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;&quot;&#39;</span>)</div><div class="line"><a name="l07401"></a><span class="lineno"> 7401</span>&#160;                        {</div><div class="line"><a name="l07402"></a><span class="lineno"> 7402</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= 0x00)</div><div class="line"><a name="l07403"></a><span class="lineno"> 7403</span>&#160;                            {</div><div class="line"><a name="l07404"></a><span class="lineno"> 7404</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_2;</div><div class="line"><a name="l07405"></a><span class="lineno"> 7405</span>&#160;                            }</div><div class="line"><a name="l07406"></a><span class="lineno"> 7406</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;!&#39;</span>)</div><div class="line"><a name="l07407"></a><span class="lineno"> 7407</span>&#160;                            {</div><div class="line"><a name="l07408"></a><span class="lineno"> 7408</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07409"></a><span class="lineno"> 7409</span>&#160;                            }</div><div class="line"><a name="l07410"></a><span class="lineno"> 7410</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_9;</div><div class="line"><a name="l07411"></a><span class="lineno"> 7411</span>&#160;                        }</div><div class="line"><a name="l07412"></a><span class="lineno"> 7412</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l07413"></a><span class="lineno"> 7413</span>&#160;                        {</div><div class="line"><a name="l07414"></a><span class="lineno"> 7414</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;+&#39;</span>)</div><div class="line"><a name="l07415"></a><span class="lineno"> 7415</span>&#160;                            {</div><div class="line"><a name="l07416"></a><span class="lineno"> 7416</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07417"></a><span class="lineno"> 7417</span>&#160;                            }</div><div class="line"><a name="l07418"></a><span class="lineno"> 7418</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;,&#39;</span>)</div><div class="line"><a name="l07419"></a><span class="lineno"> 7419</span>&#160;                            {</div><div class="line"><a name="l07420"></a><span class="lineno"> 7420</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_10;</div><div class="line"><a name="l07421"></a><span class="lineno"> 7421</span>&#160;                            }</div><div class="line"><a name="l07422"></a><span class="lineno"> 7422</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_12;</div><div class="line"><a name="l07423"></a><span class="lineno"> 7423</span>&#160;                        }</div><div class="line"><a name="l07424"></a><span class="lineno"> 7424</span>&#160;                    }</div><div class="line"><a name="l07425"></a><span class="lineno"> 7425</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l07426"></a><span class="lineno"> 7426</span>&#160;                    {</div><div class="line"><a name="l07427"></a><span class="lineno"> 7427</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07428"></a><span class="lineno"> 7428</span>&#160;                        {</div><div class="line"><a name="l07429"></a><span class="lineno"> 7429</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07430"></a><span class="lineno"> 7430</span>&#160;                            {</div><div class="line"><a name="l07431"></a><span class="lineno"> 7431</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07432"></a><span class="lineno"> 7432</span>&#160;                            }</div><div class="line"><a name="l07433"></a><span class="lineno"> 7433</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l07434"></a><span class="lineno"> 7434</span>&#160;                            {</div><div class="line"><a name="l07435"></a><span class="lineno"> 7435</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_13;</div><div class="line"><a name="l07436"></a><span class="lineno"> 7436</span>&#160;                            }</div><div class="line"><a name="l07437"></a><span class="lineno"> 7437</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_15;</div><div class="line"><a name="l07438"></a><span class="lineno"> 7438</span>&#160;                        }</div><div class="line"><a name="l07439"></a><span class="lineno"> 7439</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l07440"></a><span class="lineno"> 7440</span>&#160;                        {</div><div class="line"><a name="l07441"></a><span class="lineno"> 7441</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;:&#39;</span>)</div><div class="line"><a name="l07442"></a><span class="lineno"> 7442</span>&#160;                            {</div><div class="line"><a name="l07443"></a><span class="lineno"> 7443</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_17;</div><div class="line"><a name="l07444"></a><span class="lineno"> 7444</span>&#160;                            }</div><div class="line"><a name="l07445"></a><span class="lineno"> 7445</span>&#160;                            <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;[&#39;</span>)</div><div class="line"><a name="l07446"></a><span class="lineno"> 7446</span>&#160;                            {</div><div class="line"><a name="l07447"></a><span class="lineno"> 7447</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_19;</div><div class="line"><a name="l07448"></a><span class="lineno"> 7448</span>&#160;                            }</div><div class="line"><a name="l07449"></a><span class="lineno"> 7449</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07450"></a><span class="lineno"> 7450</span>&#160;                        }</div><div class="line"><a name="l07451"></a><span class="lineno"> 7451</span>&#160;                    }</div><div class="line"><a name="l07452"></a><span class="lineno"> 7452</span>&#160;                }</div><div class="line"><a name="l07453"></a><span class="lineno"> 7453</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07454"></a><span class="lineno"> 7454</span>&#160;                {</div><div class="line"><a name="l07455"></a><span class="lineno"> 7455</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;t&#39;</span>)</div><div class="line"><a name="l07456"></a><span class="lineno"> 7456</span>&#160;                    {</div><div class="line"><a name="l07457"></a><span class="lineno"> 7457</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l07458"></a><span class="lineno"> 7458</span>&#160;                        {</div><div class="line"><a name="l07459"></a><span class="lineno"> 7459</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;]&#39;</span>)</div><div class="line"><a name="l07460"></a><span class="lineno"> 7460</span>&#160;                            {</div><div class="line"><a name="l07461"></a><span class="lineno"> 7461</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_21;</div><div class="line"><a name="l07462"></a><span class="lineno"> 7462</span>&#160;                            }</div><div class="line"><a name="l07463"></a><span class="lineno"> 7463</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l07464"></a><span class="lineno"> 7464</span>&#160;                            {</div><div class="line"><a name="l07465"></a><span class="lineno"> 7465</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07466"></a><span class="lineno"> 7466</span>&#160;                            }</div><div class="line"><a name="l07467"></a><span class="lineno"> 7467</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_23;</div><div class="line"><a name="l07468"></a><span class="lineno"> 7468</span>&#160;                        }</div><div class="line"><a name="l07469"></a><span class="lineno"> 7469</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l07470"></a><span class="lineno"> 7470</span>&#160;                        {</div><div class="line"><a name="l07471"></a><span class="lineno"> 7471</span>&#160;                            <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;n&#39;</span>)</div><div class="line"><a name="l07472"></a><span class="lineno"> 7472</span>&#160;                            {</div><div class="line"><a name="l07473"></a><span class="lineno"> 7473</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_24;</div><div class="line"><a name="l07474"></a><span class="lineno"> 7474</span>&#160;                            }</div><div class="line"><a name="l07475"></a><span class="lineno"> 7475</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;s&#39;</span>)</div><div class="line"><a name="l07476"></a><span class="lineno"> 7476</span>&#160;                            {</div><div class="line"><a name="l07477"></a><span class="lineno"> 7477</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07478"></a><span class="lineno"> 7478</span>&#160;                            }</div><div class="line"><a name="l07479"></a><span class="lineno"> 7479</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_25;</div><div class="line"><a name="l07480"></a><span class="lineno"> 7480</span>&#160;                        }</div><div class="line"><a name="l07481"></a><span class="lineno"> 7481</span>&#160;                    }</div><div class="line"><a name="l07482"></a><span class="lineno"> 7482</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l07483"></a><span class="lineno"> 7483</span>&#160;                    {</div><div class="line"><a name="l07484"></a><span class="lineno"> 7484</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;|&#39;</span>)</div><div class="line"><a name="l07485"></a><span class="lineno"> 7485</span>&#160;                        {</div><div class="line"><a name="l07486"></a><span class="lineno"> 7486</span>&#160;                            <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;{&#39;</span>)</div><div class="line"><a name="l07487"></a><span class="lineno"> 7487</span>&#160;                            {</div><div class="line"><a name="l07488"></a><span class="lineno"> 7488</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_26;</div><div class="line"><a name="l07489"></a><span class="lineno"> 7489</span>&#160;                            }</div><div class="line"><a name="l07490"></a><span class="lineno"> 7490</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07491"></a><span class="lineno"> 7491</span>&#160;                        }</div><div class="line"><a name="l07492"></a><span class="lineno"> 7492</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l07493"></a><span class="lineno"> 7493</span>&#160;                        {</div><div class="line"><a name="l07494"></a><span class="lineno"> 7494</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;}&#39;</span>)</div><div class="line"><a name="l07495"></a><span class="lineno"> 7495</span>&#160;                            {</div><div class="line"><a name="l07496"></a><span class="lineno"> 7496</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_28;</div><div class="line"><a name="l07497"></a><span class="lineno"> 7497</span>&#160;                            }</div><div class="line"><a name="l07498"></a><span class="lineno"> 7498</span>&#160;                            <span class="keywordflow">if</span> (yych == 0xEF)</div><div class="line"><a name="l07499"></a><span class="lineno"> 7499</span>&#160;                            {</div><div class="line"><a name="l07500"></a><span class="lineno"> 7500</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_30;</div><div class="line"><a name="l07501"></a><span class="lineno"> 7501</span>&#160;                            }</div><div class="line"><a name="l07502"></a><span class="lineno"> 7502</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07503"></a><span class="lineno"> 7503</span>&#160;                        }</div><div class="line"><a name="l07504"></a><span class="lineno"> 7504</span>&#160;                    }</div><div class="line"><a name="l07505"></a><span class="lineno"> 7505</span>&#160;                }</div><div class="line"><a name="l07506"></a><span class="lineno"> 7506</span>&#160;basic_json_parser_2:</div><div class="line"><a name="l07507"></a><span class="lineno"> 7507</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07508"></a><span class="lineno"> 7508</span>&#160;                {</div><div class="line"><a name="l07509"></a><span class="lineno"> 7509</span>&#160;                    <span class="keywordflow">return</span> token_type::end_of_input;</div><div class="line"><a name="l07510"></a><span class="lineno"> 7510</span>&#160;                }</div><div class="line"><a name="l07511"></a><span class="lineno"> 7511</span>&#160;basic_json_parser_4:</div><div class="line"><a name="l07512"></a><span class="lineno"> 7512</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07513"></a><span class="lineno"> 7513</span>&#160;basic_json_parser_5:</div><div class="line"><a name="l07514"></a><span class="lineno"> 7514</span>&#160;                {</div><div class="line"><a name="l07515"></a><span class="lineno"> 7515</span>&#160;                    <span class="keywordflow">return</span> token_type::parse_error;</div><div class="line"><a name="l07516"></a><span class="lineno"> 7516</span>&#160;                }</div><div class="line"><a name="l07517"></a><span class="lineno"> 7517</span>&#160;basic_json_parser_6:</div><div class="line"><a name="l07518"></a><span class="lineno"> 7518</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07519"></a><span class="lineno"> 7519</span>&#160;                <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l07520"></a><span class="lineno"> 7520</span>&#160;                {</div><div class="line"><a name="l07521"></a><span class="lineno"> 7521</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07522"></a><span class="lineno"> 7522</span>&#160;                }</div><div class="line"><a name="l07523"></a><span class="lineno"> 7523</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l07524"></a><span class="lineno"> 7524</span>&#160;                <span class="keywordflow">if</span> (yybm[0 + yych] &amp; 32)</div><div class="line"><a name="l07525"></a><span class="lineno"> 7525</span>&#160;                {</div><div class="line"><a name="l07526"></a><span class="lineno"> 7526</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_6;</div><div class="line"><a name="l07527"></a><span class="lineno"> 7527</span>&#160;                }</div><div class="line"><a name="l07528"></a><span class="lineno"> 7528</span>&#160;                {</div><div class="line"><a name="l07529"></a><span class="lineno"> 7529</span>&#160;                    <span class="keywordflow">return</span> scan();</div><div class="line"><a name="l07530"></a><span class="lineno"> 7530</span>&#160;                }</div><div class="line"><a name="l07531"></a><span class="lineno"> 7531</span>&#160;basic_json_parser_9:</div><div class="line"><a name="l07532"></a><span class="lineno"> 7532</span>&#160;                yyaccept = 0;</div><div class="line"><a name="l07533"></a><span class="lineno"> 7533</span>&#160;                yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07534"></a><span class="lineno"> 7534</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= 0x0F)</div><div class="line"><a name="l07535"></a><span class="lineno"> 7535</span>&#160;                {</div><div class="line"><a name="l07536"></a><span class="lineno"> 7536</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07537"></a><span class="lineno"> 7537</span>&#160;                }</div><div class="line"><a name="l07538"></a><span class="lineno"> 7538</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_32;</div><div class="line"><a name="l07539"></a><span class="lineno"> 7539</span>&#160;basic_json_parser_10:</div><div class="line"><a name="l07540"></a><span class="lineno"> 7540</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07541"></a><span class="lineno"> 7541</span>&#160;                {</div><div class="line"><a name="l07542"></a><span class="lineno"> 7542</span>&#160;                    <span class="keywordflow">return</span> token_type::value_separator;</div><div class="line"><a name="l07543"></a><span class="lineno"> 7543</span>&#160;                }</div><div class="line"><a name="l07544"></a><span class="lineno"> 7544</span>&#160;basic_json_parser_12:</div><div class="line"><a name="l07545"></a><span class="lineno"> 7545</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07546"></a><span class="lineno"> 7546</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07547"></a><span class="lineno"> 7547</span>&#160;                {</div><div class="line"><a name="l07548"></a><span class="lineno"> 7548</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07549"></a><span class="lineno"> 7549</span>&#160;                }</div><div class="line"><a name="l07550"></a><span class="lineno"> 7550</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l07551"></a><span class="lineno"> 7551</span>&#160;                {</div><div class="line"><a name="l07552"></a><span class="lineno"> 7552</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_13;</div><div class="line"><a name="l07553"></a><span class="lineno"> 7553</span>&#160;                }</div><div class="line"><a name="l07554"></a><span class="lineno"> 7554</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07555"></a><span class="lineno"> 7555</span>&#160;                {</div><div class="line"><a name="l07556"></a><span class="lineno"> 7556</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_15;</div><div class="line"><a name="l07557"></a><span class="lineno"> 7557</span>&#160;                }</div><div class="line"><a name="l07558"></a><span class="lineno"> 7558</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07559"></a><span class="lineno"> 7559</span>&#160;basic_json_parser_13:</div><div class="line"><a name="l07560"></a><span class="lineno"> 7560</span>&#160;                yyaccept = 1;</div><div class="line"><a name="l07561"></a><span class="lineno"> 7561</span>&#160;                yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07562"></a><span class="lineno"> 7562</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;D&#39;</span>)</div><div class="line"><a name="l07563"></a><span class="lineno"> 7563</span>&#160;                {</div><div class="line"><a name="l07564"></a><span class="lineno"> 7564</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;.&#39;</span>)</div><div class="line"><a name="l07565"></a><span class="lineno"> 7565</span>&#160;                    {</div><div class="line"><a name="l07566"></a><span class="lineno"> 7566</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_37;</div><div class="line"><a name="l07567"></a><span class="lineno"> 7567</span>&#160;                    }</div><div class="line"><a name="l07568"></a><span class="lineno"> 7568</span>&#160;                }</div><div class="line"><a name="l07569"></a><span class="lineno"> 7569</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07570"></a><span class="lineno"> 7570</span>&#160;                {</div><div class="line"><a name="l07571"></a><span class="lineno"> 7571</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;E&#39;</span>)</div><div class="line"><a name="l07572"></a><span class="lineno"> 7572</span>&#160;                    {</div><div class="line"><a name="l07573"></a><span class="lineno"> 7573</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07574"></a><span class="lineno"> 7574</span>&#160;                    }</div><div class="line"><a name="l07575"></a><span class="lineno"> 7575</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l07576"></a><span class="lineno"> 7576</span>&#160;                    {</div><div class="line"><a name="l07577"></a><span class="lineno"> 7577</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07578"></a><span class="lineno"> 7578</span>&#160;                    }</div><div class="line"><a name="l07579"></a><span class="lineno"> 7579</span>&#160;                }</div><div class="line"><a name="l07580"></a><span class="lineno"> 7580</span>&#160;basic_json_parser_14:</div><div class="line"><a name="l07581"></a><span class="lineno"> 7581</span>&#160;                {</div><div class="line"><a name="l07582"></a><span class="lineno"> 7582</span>&#160;                    <span class="keywordflow">return</span> token_type::value_number;</div><div class="line"><a name="l07583"></a><span class="lineno"> 7583</span>&#160;                }</div><div class="line"><a name="l07584"></a><span class="lineno"> 7584</span>&#160;basic_json_parser_15:</div><div class="line"><a name="l07585"></a><span class="lineno"> 7585</span>&#160;                yyaccept = 1;</div><div class="line"><a name="l07586"></a><span class="lineno"> 7586</span>&#160;                m_marker = ++m_cursor;</div><div class="line"><a name="l07587"></a><span class="lineno"> 7587</span>&#160;                <span class="keywordflow">if</span> ((m_limit - m_cursor) &lt; 3)</div><div class="line"><a name="l07588"></a><span class="lineno"> 7588</span>&#160;                {</div><div class="line"><a name="l07589"></a><span class="lineno"> 7589</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07590"></a><span class="lineno"> 7590</span>&#160;                }</div><div class="line"><a name="l07591"></a><span class="lineno"> 7591</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l07592"></a><span class="lineno"> 7592</span>&#160;                <span class="keywordflow">if</span> (yybm[0 + yych] &amp; 64)</div><div class="line"><a name="l07593"></a><span class="lineno"> 7593</span>&#160;                {</div><div class="line"><a name="l07594"></a><span class="lineno"> 7594</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_15;</div><div class="line"><a name="l07595"></a><span class="lineno"> 7595</span>&#160;                }</div><div class="line"><a name="l07596"></a><span class="lineno"> 7596</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;D&#39;</span>)</div><div class="line"><a name="l07597"></a><span class="lineno"> 7597</span>&#160;                {</div><div class="line"><a name="l07598"></a><span class="lineno"> 7598</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;.&#39;</span>)</div><div class="line"><a name="l07599"></a><span class="lineno"> 7599</span>&#160;                    {</div><div class="line"><a name="l07600"></a><span class="lineno"> 7600</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_37;</div><div class="line"><a name="l07601"></a><span class="lineno"> 7601</span>&#160;                    }</div><div class="line"><a name="l07602"></a><span class="lineno"> 7602</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07603"></a><span class="lineno"> 7603</span>&#160;                }</div><div class="line"><a name="l07604"></a><span class="lineno"> 7604</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07605"></a><span class="lineno"> 7605</span>&#160;                {</div><div class="line"><a name="l07606"></a><span class="lineno"> 7606</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;E&#39;</span>)</div><div class="line"><a name="l07607"></a><span class="lineno"> 7607</span>&#160;                    {</div><div class="line"><a name="l07608"></a><span class="lineno"> 7608</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07609"></a><span class="lineno"> 7609</span>&#160;                    }</div><div class="line"><a name="l07610"></a><span class="lineno"> 7610</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l07611"></a><span class="lineno"> 7611</span>&#160;                    {</div><div class="line"><a name="l07612"></a><span class="lineno"> 7612</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07613"></a><span class="lineno"> 7613</span>&#160;                    }</div><div class="line"><a name="l07614"></a><span class="lineno"> 7614</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07615"></a><span class="lineno"> 7615</span>&#160;                }</div><div class="line"><a name="l07616"></a><span class="lineno"> 7616</span>&#160;basic_json_parser_17:</div><div class="line"><a name="l07617"></a><span class="lineno"> 7617</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07618"></a><span class="lineno"> 7618</span>&#160;                {</div><div class="line"><a name="l07619"></a><span class="lineno"> 7619</span>&#160;                    <span class="keywordflow">return</span> token_type::name_separator;</div><div class="line"><a name="l07620"></a><span class="lineno"> 7620</span>&#160;                }</div><div class="line"><a name="l07621"></a><span class="lineno"> 7621</span>&#160;basic_json_parser_19:</div><div class="line"><a name="l07622"></a><span class="lineno"> 7622</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07623"></a><span class="lineno"> 7623</span>&#160;                {</div><div class="line"><a name="l07624"></a><span class="lineno"> 7624</span>&#160;                    <span class="keywordflow">return</span> token_type::begin_array;</div><div class="line"><a name="l07625"></a><span class="lineno"> 7625</span>&#160;                }</div><div class="line"><a name="l07626"></a><span class="lineno"> 7626</span>&#160;basic_json_parser_21:</div><div class="line"><a name="l07627"></a><span class="lineno"> 7627</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07628"></a><span class="lineno"> 7628</span>&#160;                {</div><div class="line"><a name="l07629"></a><span class="lineno"> 7629</span>&#160;                    <span class="keywordflow">return</span> token_type::end_array;</div><div class="line"><a name="l07630"></a><span class="lineno"> 7630</span>&#160;                }</div><div class="line"><a name="l07631"></a><span class="lineno"> 7631</span>&#160;basic_json_parser_23:</div><div class="line"><a name="l07632"></a><span class="lineno"> 7632</span>&#160;                yyaccept = 0;</div><div class="line"><a name="l07633"></a><span class="lineno"> 7633</span>&#160;                yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07634"></a><span class="lineno"> 7634</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;a&#39;</span>)</div><div class="line"><a name="l07635"></a><span class="lineno"> 7635</span>&#160;                {</div><div class="line"><a name="l07636"></a><span class="lineno"> 7636</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_39;</div><div class="line"><a name="l07637"></a><span class="lineno"> 7637</span>&#160;                }</div><div class="line"><a name="l07638"></a><span class="lineno"> 7638</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07639"></a><span class="lineno"> 7639</span>&#160;basic_json_parser_24:</div><div class="line"><a name="l07640"></a><span class="lineno"> 7640</span>&#160;                yyaccept = 0;</div><div class="line"><a name="l07641"></a><span class="lineno"> 7641</span>&#160;                yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07642"></a><span class="lineno"> 7642</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;u&#39;</span>)</div><div class="line"><a name="l07643"></a><span class="lineno"> 7643</span>&#160;                {</div><div class="line"><a name="l07644"></a><span class="lineno"> 7644</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_40;</div><div class="line"><a name="l07645"></a><span class="lineno"> 7645</span>&#160;                }</div><div class="line"><a name="l07646"></a><span class="lineno"> 7646</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07647"></a><span class="lineno"> 7647</span>&#160;basic_json_parser_25:</div><div class="line"><a name="l07648"></a><span class="lineno"> 7648</span>&#160;                yyaccept = 0;</div><div class="line"><a name="l07649"></a><span class="lineno"> 7649</span>&#160;                yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07650"></a><span class="lineno"> 7650</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;r&#39;</span>)</div><div class="line"><a name="l07651"></a><span class="lineno"> 7651</span>&#160;                {</div><div class="line"><a name="l07652"></a><span class="lineno"> 7652</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_41;</div><div class="line"><a name="l07653"></a><span class="lineno"> 7653</span>&#160;                }</div><div class="line"><a name="l07654"></a><span class="lineno"> 7654</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07655"></a><span class="lineno"> 7655</span>&#160;basic_json_parser_26:</div><div class="line"><a name="l07656"></a><span class="lineno"> 7656</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07657"></a><span class="lineno"> 7657</span>&#160;                {</div><div class="line"><a name="l07658"></a><span class="lineno"> 7658</span>&#160;                    <span class="keywordflow">return</span> token_type::begin_object;</div><div class="line"><a name="l07659"></a><span class="lineno"> 7659</span>&#160;                }</div><div class="line"><a name="l07660"></a><span class="lineno"> 7660</span>&#160;basic_json_parser_28:</div><div class="line"><a name="l07661"></a><span class="lineno"> 7661</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07662"></a><span class="lineno"> 7662</span>&#160;                {</div><div class="line"><a name="l07663"></a><span class="lineno"> 7663</span>&#160;                    <span class="keywordflow">return</span> token_type::end_object;</div><div class="line"><a name="l07664"></a><span class="lineno"> 7664</span>&#160;                }</div><div class="line"><a name="l07665"></a><span class="lineno"> 7665</span>&#160;basic_json_parser_30:</div><div class="line"><a name="l07666"></a><span class="lineno"> 7666</span>&#160;                yyaccept = 0;</div><div class="line"><a name="l07667"></a><span class="lineno"> 7667</span>&#160;                yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07668"></a><span class="lineno"> 7668</span>&#160;                <span class="keywordflow">if</span> (yych == 0xBB)</div><div class="line"><a name="l07669"></a><span class="lineno"> 7669</span>&#160;                {</div><div class="line"><a name="l07670"></a><span class="lineno"> 7670</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_42;</div><div class="line"><a name="l07671"></a><span class="lineno"> 7671</span>&#160;                }</div><div class="line"><a name="l07672"></a><span class="lineno"> 7672</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07673"></a><span class="lineno"> 7673</span>&#160;basic_json_parser_31:</div><div class="line"><a name="l07674"></a><span class="lineno"> 7674</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07675"></a><span class="lineno"> 7675</span>&#160;                <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l07676"></a><span class="lineno"> 7676</span>&#160;                {</div><div class="line"><a name="l07677"></a><span class="lineno"> 7677</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07678"></a><span class="lineno"> 7678</span>&#160;                }</div><div class="line"><a name="l07679"></a><span class="lineno"> 7679</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l07680"></a><span class="lineno"> 7680</span>&#160;basic_json_parser_32:</div><div class="line"><a name="l07681"></a><span class="lineno"> 7681</span>&#160;                <span class="keywordflow">if</span> (yybm[0 + yych] &amp; 128)</div><div class="line"><a name="l07682"></a><span class="lineno"> 7682</span>&#160;                {</div><div class="line"><a name="l07683"></a><span class="lineno"> 7683</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l07684"></a><span class="lineno"> 7684</span>&#160;                }</div><div class="line"><a name="l07685"></a><span class="lineno"> 7685</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= 0x0F)</div><div class="line"><a name="l07686"></a><span class="lineno"> 7686</span>&#160;                {</div><div class="line"><a name="l07687"></a><span class="lineno"> 7687</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07688"></a><span class="lineno"> 7688</span>&#160;                }</div><div class="line"><a name="l07689"></a><span class="lineno"> 7689</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;&quot;&#39;</span>)</div><div class="line"><a name="l07690"></a><span class="lineno"> 7690</span>&#160;                {</div><div class="line"><a name="l07691"></a><span class="lineno"> 7691</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_34;</div><div class="line"><a name="l07692"></a><span class="lineno"> 7692</span>&#160;                }</div><div class="line"><a name="l07693"></a><span class="lineno"> 7693</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_36;</div><div class="line"><a name="l07694"></a><span class="lineno"> 7694</span>&#160;basic_json_parser_33:</div><div class="line"><a name="l07695"></a><span class="lineno"> 7695</span>&#160;                m_cursor = m_marker;</div><div class="line"><a name="l07696"></a><span class="lineno"> 7696</span>&#160;                <span class="keywordflow">if</span> (yyaccept == 0)</div><div class="line"><a name="l07697"></a><span class="lineno"> 7697</span>&#160;                {</div><div class="line"><a name="l07698"></a><span class="lineno"> 7698</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07699"></a><span class="lineno"> 7699</span>&#160;                }</div><div class="line"><a name="l07700"></a><span class="lineno"> 7700</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07701"></a><span class="lineno"> 7701</span>&#160;                {</div><div class="line"><a name="l07702"></a><span class="lineno"> 7702</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07703"></a><span class="lineno"> 7703</span>&#160;                }</div><div class="line"><a name="l07704"></a><span class="lineno"> 7704</span>&#160;basic_json_parser_34:</div><div class="line"><a name="l07705"></a><span class="lineno"> 7705</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07706"></a><span class="lineno"> 7706</span>&#160;                {</div><div class="line"><a name="l07707"></a><span class="lineno"> 7707</span>&#160;                    <span class="keywordflow">return</span> token_type::value_string;</div><div class="line"><a name="l07708"></a><span class="lineno"> 7708</span>&#160;                }</div><div class="line"><a name="l07709"></a><span class="lineno"> 7709</span>&#160;basic_json_parser_36:</div><div class="line"><a name="l07710"></a><span class="lineno"> 7710</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07711"></a><span class="lineno"> 7711</span>&#160;                <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l07712"></a><span class="lineno"> 7712</span>&#160;                {</div><div class="line"><a name="l07713"></a><span class="lineno"> 7713</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07714"></a><span class="lineno"> 7714</span>&#160;                }</div><div class="line"><a name="l07715"></a><span class="lineno"> 7715</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l07716"></a><span class="lineno"> 7716</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l07717"></a><span class="lineno"> 7717</span>&#160;                {</div><div class="line"><a name="l07718"></a><span class="lineno"> 7718</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07719"></a><span class="lineno"> 7719</span>&#160;                    {</div><div class="line"><a name="l07720"></a><span class="lineno"> 7720</span>&#160;                        <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;&quot;&#39;</span>)</div><div class="line"><a name="l07721"></a><span class="lineno"> 7721</span>&#160;                        {</div><div class="line"><a name="l07722"></a><span class="lineno"> 7722</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l07723"></a><span class="lineno"> 7723</span>&#160;                        }</div><div class="line"><a name="l07724"></a><span class="lineno"> 7724</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;.&#39;</span>)</div><div class="line"><a name="l07725"></a><span class="lineno"> 7725</span>&#160;                        {</div><div class="line"><a name="l07726"></a><span class="lineno"> 7726</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07727"></a><span class="lineno"> 7727</span>&#160;                        }</div><div class="line"><a name="l07728"></a><span class="lineno"> 7728</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l07729"></a><span class="lineno"> 7729</span>&#160;                    }</div><div class="line"><a name="l07730"></a><span class="lineno"> 7730</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l07731"></a><span class="lineno"> 7731</span>&#160;                    {</div><div class="line"><a name="l07732"></a><span class="lineno"> 7732</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;\\&#39;</span>)</div><div class="line"><a name="l07733"></a><span class="lineno"> 7733</span>&#160;                        {</div><div class="line"><a name="l07734"></a><span class="lineno"> 7734</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;[&#39;</span>)</div><div class="line"><a name="l07735"></a><span class="lineno"> 7735</span>&#160;                            {</div><div class="line"><a name="l07736"></a><span class="lineno"> 7736</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07737"></a><span class="lineno"> 7737</span>&#160;                            }</div><div class="line"><a name="l07738"></a><span class="lineno"> 7738</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l07739"></a><span class="lineno"> 7739</span>&#160;                        }</div><div class="line"><a name="l07740"></a><span class="lineno"> 7740</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l07741"></a><span class="lineno"> 7741</span>&#160;                        {</div><div class="line"><a name="l07742"></a><span class="lineno"> 7742</span>&#160;                            <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;b&#39;</span>)</div><div class="line"><a name="l07743"></a><span class="lineno"> 7743</span>&#160;                            {</div><div class="line"><a name="l07744"></a><span class="lineno"> 7744</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l07745"></a><span class="lineno"> 7745</span>&#160;                            }</div><div class="line"><a name="l07746"></a><span class="lineno"> 7746</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07747"></a><span class="lineno"> 7747</span>&#160;                        }</div><div class="line"><a name="l07748"></a><span class="lineno"> 7748</span>&#160;                    }</div><div class="line"><a name="l07749"></a><span class="lineno"> 7749</span>&#160;                }</div><div class="line"><a name="l07750"></a><span class="lineno"> 7750</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07751"></a><span class="lineno"> 7751</span>&#160;                {</div><div class="line"><a name="l07752"></a><span class="lineno"> 7752</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;q&#39;</span>)</div><div class="line"><a name="l07753"></a><span class="lineno"> 7753</span>&#160;                    {</div><div class="line"><a name="l07754"></a><span class="lineno"> 7754</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l07755"></a><span class="lineno"> 7755</span>&#160;                        {</div><div class="line"><a name="l07756"></a><span class="lineno"> 7756</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l07757"></a><span class="lineno"> 7757</span>&#160;                        }</div><div class="line"><a name="l07758"></a><span class="lineno"> 7758</span>&#160;                        <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;n&#39;</span>)</div><div class="line"><a name="l07759"></a><span class="lineno"> 7759</span>&#160;                        {</div><div class="line"><a name="l07760"></a><span class="lineno"> 7760</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l07761"></a><span class="lineno"> 7761</span>&#160;                        }</div><div class="line"><a name="l07762"></a><span class="lineno"> 7762</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07763"></a><span class="lineno"> 7763</span>&#160;                    }</div><div class="line"><a name="l07764"></a><span class="lineno"> 7764</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l07765"></a><span class="lineno"> 7765</span>&#160;                    {</div><div class="line"><a name="l07766"></a><span class="lineno"> 7766</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;s&#39;</span>)</div><div class="line"><a name="l07767"></a><span class="lineno"> 7767</span>&#160;                        {</div><div class="line"><a name="l07768"></a><span class="lineno"> 7768</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;r&#39;</span>)</div><div class="line"><a name="l07769"></a><span class="lineno"> 7769</span>&#160;                            {</div><div class="line"><a name="l07770"></a><span class="lineno"> 7770</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l07771"></a><span class="lineno"> 7771</span>&#160;                            }</div><div class="line"><a name="l07772"></a><span class="lineno"> 7772</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07773"></a><span class="lineno"> 7773</span>&#160;                        }</div><div class="line"><a name="l07774"></a><span class="lineno"> 7774</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l07775"></a><span class="lineno"> 7775</span>&#160;                        {</div><div class="line"><a name="l07776"></a><span class="lineno"> 7776</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;t&#39;</span>)</div><div class="line"><a name="l07777"></a><span class="lineno"> 7777</span>&#160;                            {</div><div class="line"><a name="l07778"></a><span class="lineno"> 7778</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l07779"></a><span class="lineno"> 7779</span>&#160;                            }</div><div class="line"><a name="l07780"></a><span class="lineno"> 7780</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;u&#39;</span>)</div><div class="line"><a name="l07781"></a><span class="lineno"> 7781</span>&#160;                            {</div><div class="line"><a name="l07782"></a><span class="lineno"> 7782</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_43;</div><div class="line"><a name="l07783"></a><span class="lineno"> 7783</span>&#160;                            }</div><div class="line"><a name="l07784"></a><span class="lineno"> 7784</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07785"></a><span class="lineno"> 7785</span>&#160;                        }</div><div class="line"><a name="l07786"></a><span class="lineno"> 7786</span>&#160;                    }</div><div class="line"><a name="l07787"></a><span class="lineno"> 7787</span>&#160;                }</div><div class="line"><a name="l07788"></a><span class="lineno"> 7788</span>&#160;basic_json_parser_37:</div><div class="line"><a name="l07789"></a><span class="lineno"> 7789</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07790"></a><span class="lineno"> 7790</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07791"></a><span class="lineno"> 7791</span>&#160;                {</div><div class="line"><a name="l07792"></a><span class="lineno"> 7792</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07793"></a><span class="lineno"> 7793</span>&#160;                }</div><div class="line"><a name="l07794"></a><span class="lineno"> 7794</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07795"></a><span class="lineno"> 7795</span>&#160;                {</div><div class="line"><a name="l07796"></a><span class="lineno"> 7796</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_44;</div><div class="line"><a name="l07797"></a><span class="lineno"> 7797</span>&#160;                }</div><div class="line"><a name="l07798"></a><span class="lineno"> 7798</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07799"></a><span class="lineno"> 7799</span>&#160;basic_json_parser_38:</div><div class="line"><a name="l07800"></a><span class="lineno"> 7800</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07801"></a><span class="lineno"> 7801</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;,&#39;</span>)</div><div class="line"><a name="l07802"></a><span class="lineno"> 7802</span>&#160;                {</div><div class="line"><a name="l07803"></a><span class="lineno"> 7803</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;+&#39;</span>)</div><div class="line"><a name="l07804"></a><span class="lineno"> 7804</span>&#160;                    {</div><div class="line"><a name="l07805"></a><span class="lineno"> 7805</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_46;</div><div class="line"><a name="l07806"></a><span class="lineno"> 7806</span>&#160;                    }</div><div class="line"><a name="l07807"></a><span class="lineno"> 7807</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07808"></a><span class="lineno"> 7808</span>&#160;                }</div><div class="line"><a name="l07809"></a><span class="lineno"> 7809</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07810"></a><span class="lineno"> 7810</span>&#160;                {</div><div class="line"><a name="l07811"></a><span class="lineno"> 7811</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;-&#39;</span>)</div><div class="line"><a name="l07812"></a><span class="lineno"> 7812</span>&#160;                    {</div><div class="line"><a name="l07813"></a><span class="lineno"> 7813</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_46;</div><div class="line"><a name="l07814"></a><span class="lineno"> 7814</span>&#160;                    }</div><div class="line"><a name="l07815"></a><span class="lineno"> 7815</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07816"></a><span class="lineno"> 7816</span>&#160;                    {</div><div class="line"><a name="l07817"></a><span class="lineno"> 7817</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07818"></a><span class="lineno"> 7818</span>&#160;                    }</div><div class="line"><a name="l07819"></a><span class="lineno"> 7819</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07820"></a><span class="lineno"> 7820</span>&#160;                    {</div><div class="line"><a name="l07821"></a><span class="lineno"> 7821</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_47;</div><div class="line"><a name="l07822"></a><span class="lineno"> 7822</span>&#160;                    }</div><div class="line"><a name="l07823"></a><span class="lineno"> 7823</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07824"></a><span class="lineno"> 7824</span>&#160;                }</div><div class="line"><a name="l07825"></a><span class="lineno"> 7825</span>&#160;basic_json_parser_39:</div><div class="line"><a name="l07826"></a><span class="lineno"> 7826</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07827"></a><span class="lineno"> 7827</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;l&#39;</span>)</div><div class="line"><a name="l07828"></a><span class="lineno"> 7828</span>&#160;                {</div><div class="line"><a name="l07829"></a><span class="lineno"> 7829</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_49;</div><div class="line"><a name="l07830"></a><span class="lineno"> 7830</span>&#160;                }</div><div class="line"><a name="l07831"></a><span class="lineno"> 7831</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07832"></a><span class="lineno"> 7832</span>&#160;basic_json_parser_40:</div><div class="line"><a name="l07833"></a><span class="lineno"> 7833</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07834"></a><span class="lineno"> 7834</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;l&#39;</span>)</div><div class="line"><a name="l07835"></a><span class="lineno"> 7835</span>&#160;                {</div><div class="line"><a name="l07836"></a><span class="lineno"> 7836</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_50;</div><div class="line"><a name="l07837"></a><span class="lineno"> 7837</span>&#160;                }</div><div class="line"><a name="l07838"></a><span class="lineno"> 7838</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07839"></a><span class="lineno"> 7839</span>&#160;basic_json_parser_41:</div><div class="line"><a name="l07840"></a><span class="lineno"> 7840</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07841"></a><span class="lineno"> 7841</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;u&#39;</span>)</div><div class="line"><a name="l07842"></a><span class="lineno"> 7842</span>&#160;                {</div><div class="line"><a name="l07843"></a><span class="lineno"> 7843</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_51;</div><div class="line"><a name="l07844"></a><span class="lineno"> 7844</span>&#160;                }</div><div class="line"><a name="l07845"></a><span class="lineno"> 7845</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07846"></a><span class="lineno"> 7846</span>&#160;basic_json_parser_42:</div><div class="line"><a name="l07847"></a><span class="lineno"> 7847</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07848"></a><span class="lineno"> 7848</span>&#160;                <span class="keywordflow">if</span> (yych == 0xBF)</div><div class="line"><a name="l07849"></a><span class="lineno"> 7849</span>&#160;                {</div><div class="line"><a name="l07850"></a><span class="lineno"> 7850</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_52;</div><div class="line"><a name="l07851"></a><span class="lineno"> 7851</span>&#160;                }</div><div class="line"><a name="l07852"></a><span class="lineno"> 7852</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07853"></a><span class="lineno"> 7853</span>&#160;basic_json_parser_43:</div><div class="line"><a name="l07854"></a><span class="lineno"> 7854</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07855"></a><span class="lineno"> 7855</span>&#160;                <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l07856"></a><span class="lineno"> 7856</span>&#160;                {</div><div class="line"><a name="l07857"></a><span class="lineno"> 7857</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07858"></a><span class="lineno"> 7858</span>&#160;                }</div><div class="line"><a name="l07859"></a><span class="lineno"> 7859</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l07860"></a><span class="lineno"> 7860</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;@&#39;</span>)</div><div class="line"><a name="l07861"></a><span class="lineno"> 7861</span>&#160;                {</div><div class="line"><a name="l07862"></a><span class="lineno"> 7862</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07863"></a><span class="lineno"> 7863</span>&#160;                    {</div><div class="line"><a name="l07864"></a><span class="lineno"> 7864</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07865"></a><span class="lineno"> 7865</span>&#160;                    }</div><div class="line"><a name="l07866"></a><span class="lineno"> 7866</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07867"></a><span class="lineno"> 7867</span>&#160;                    {</div><div class="line"><a name="l07868"></a><span class="lineno"> 7868</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_54;</div><div class="line"><a name="l07869"></a><span class="lineno"> 7869</span>&#160;                    }</div><div class="line"><a name="l07870"></a><span class="lineno"> 7870</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07871"></a><span class="lineno"> 7871</span>&#160;                }</div><div class="line"><a name="l07872"></a><span class="lineno"> 7872</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07873"></a><span class="lineno"> 7873</span>&#160;                {</div><div class="line"><a name="l07874"></a><span class="lineno"> 7874</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;F&#39;</span>)</div><div class="line"><a name="l07875"></a><span class="lineno"> 7875</span>&#160;                    {</div><div class="line"><a name="l07876"></a><span class="lineno"> 7876</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_54;</div><div class="line"><a name="l07877"></a><span class="lineno"> 7877</span>&#160;                    }</div><div class="line"><a name="l07878"></a><span class="lineno"> 7878</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;`&#39;</span>)</div><div class="line"><a name="l07879"></a><span class="lineno"> 7879</span>&#160;                    {</div><div class="line"><a name="l07880"></a><span class="lineno"> 7880</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07881"></a><span class="lineno"> 7881</span>&#160;                    }</div><div class="line"><a name="l07882"></a><span class="lineno"> 7882</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l07883"></a><span class="lineno"> 7883</span>&#160;                    {</div><div class="line"><a name="l07884"></a><span class="lineno"> 7884</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_54;</div><div class="line"><a name="l07885"></a><span class="lineno"> 7885</span>&#160;                    }</div><div class="line"><a name="l07886"></a><span class="lineno"> 7886</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07887"></a><span class="lineno"> 7887</span>&#160;                }</div><div class="line"><a name="l07888"></a><span class="lineno"> 7888</span>&#160;basic_json_parser_44:</div><div class="line"><a name="l07889"></a><span class="lineno"> 7889</span>&#160;                yyaccept = 1;</div><div class="line"><a name="l07890"></a><span class="lineno"> 7890</span>&#160;                m_marker = ++m_cursor;</div><div class="line"><a name="l07891"></a><span class="lineno"> 7891</span>&#160;                <span class="keywordflow">if</span> ((m_limit - m_cursor) &lt; 3)</div><div class="line"><a name="l07892"></a><span class="lineno"> 7892</span>&#160;                {</div><div class="line"><a name="l07893"></a><span class="lineno"> 7893</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07894"></a><span class="lineno"> 7894</span>&#160;                }</div><div class="line"><a name="l07895"></a><span class="lineno"> 7895</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l07896"></a><span class="lineno"> 7896</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;D&#39;</span>)</div><div class="line"><a name="l07897"></a><span class="lineno"> 7897</span>&#160;                {</div><div class="line"><a name="l07898"></a><span class="lineno"> 7898</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07899"></a><span class="lineno"> 7899</span>&#160;                    {</div><div class="line"><a name="l07900"></a><span class="lineno"> 7900</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07901"></a><span class="lineno"> 7901</span>&#160;                    }</div><div class="line"><a name="l07902"></a><span class="lineno"> 7902</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07903"></a><span class="lineno"> 7903</span>&#160;                    {</div><div class="line"><a name="l07904"></a><span class="lineno"> 7904</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_44;</div><div class="line"><a name="l07905"></a><span class="lineno"> 7905</span>&#160;                    }</div><div class="line"><a name="l07906"></a><span class="lineno"> 7906</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07907"></a><span class="lineno"> 7907</span>&#160;                }</div><div class="line"><a name="l07908"></a><span class="lineno"> 7908</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07909"></a><span class="lineno"> 7909</span>&#160;                {</div><div class="line"><a name="l07910"></a><span class="lineno"> 7910</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;E&#39;</span>)</div><div class="line"><a name="l07911"></a><span class="lineno"> 7911</span>&#160;                    {</div><div class="line"><a name="l07912"></a><span class="lineno"> 7912</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07913"></a><span class="lineno"> 7913</span>&#160;                    }</div><div class="line"><a name="l07914"></a><span class="lineno"> 7914</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l07915"></a><span class="lineno"> 7915</span>&#160;                    {</div><div class="line"><a name="l07916"></a><span class="lineno"> 7916</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07917"></a><span class="lineno"> 7917</span>&#160;                    }</div><div class="line"><a name="l07918"></a><span class="lineno"> 7918</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07919"></a><span class="lineno"> 7919</span>&#160;                }</div><div class="line"><a name="l07920"></a><span class="lineno"> 7920</span>&#160;basic_json_parser_46:</div><div class="line"><a name="l07921"></a><span class="lineno"> 7921</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07922"></a><span class="lineno"> 7922</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07923"></a><span class="lineno"> 7923</span>&#160;                {</div><div class="line"><a name="l07924"></a><span class="lineno"> 7924</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07925"></a><span class="lineno"> 7925</span>&#160;                }</div><div class="line"><a name="l07926"></a><span class="lineno"> 7926</span>&#160;                <span class="keywordflow">if</span> (yych &gt;= <span class="charliteral">&#39;:&#39;</span>)</div><div class="line"><a name="l07927"></a><span class="lineno"> 7927</span>&#160;                {</div><div class="line"><a name="l07928"></a><span class="lineno"> 7928</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07929"></a><span class="lineno"> 7929</span>&#160;                }</div><div class="line"><a name="l07930"></a><span class="lineno"> 7930</span>&#160;basic_json_parser_47:</div><div class="line"><a name="l07931"></a><span class="lineno"> 7931</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07932"></a><span class="lineno"> 7932</span>&#160;                <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l07933"></a><span class="lineno"> 7933</span>&#160;                {</div><div class="line"><a name="l07934"></a><span class="lineno"> 7934</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07935"></a><span class="lineno"> 7935</span>&#160;                }</div><div class="line"><a name="l07936"></a><span class="lineno"> 7936</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l07937"></a><span class="lineno"> 7937</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07938"></a><span class="lineno"> 7938</span>&#160;                {</div><div class="line"><a name="l07939"></a><span class="lineno"> 7939</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07940"></a><span class="lineno"> 7940</span>&#160;                }</div><div class="line"><a name="l07941"></a><span class="lineno"> 7941</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07942"></a><span class="lineno"> 7942</span>&#160;                {</div><div class="line"><a name="l07943"></a><span class="lineno"> 7943</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_47;</div><div class="line"><a name="l07944"></a><span class="lineno"> 7944</span>&#160;                }</div><div class="line"><a name="l07945"></a><span class="lineno"> 7945</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07946"></a><span class="lineno"> 7946</span>&#160;basic_json_parser_49:</div><div class="line"><a name="l07947"></a><span class="lineno"> 7947</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07948"></a><span class="lineno"> 7948</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;s&#39;</span>)</div><div class="line"><a name="l07949"></a><span class="lineno"> 7949</span>&#160;                {</div><div class="line"><a name="l07950"></a><span class="lineno"> 7950</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_55;</div><div class="line"><a name="l07951"></a><span class="lineno"> 7951</span>&#160;                }</div><div class="line"><a name="l07952"></a><span class="lineno"> 7952</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07953"></a><span class="lineno"> 7953</span>&#160;basic_json_parser_50:</div><div class="line"><a name="l07954"></a><span class="lineno"> 7954</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07955"></a><span class="lineno"> 7955</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;l&#39;</span>)</div><div class="line"><a name="l07956"></a><span class="lineno"> 7956</span>&#160;                {</div><div class="line"><a name="l07957"></a><span class="lineno"> 7957</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_56;</div><div class="line"><a name="l07958"></a><span class="lineno"> 7958</span>&#160;                }</div><div class="line"><a name="l07959"></a><span class="lineno"> 7959</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07960"></a><span class="lineno"> 7960</span>&#160;basic_json_parser_51:</div><div class="line"><a name="l07961"></a><span class="lineno"> 7961</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l07962"></a><span class="lineno"> 7962</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l07963"></a><span class="lineno"> 7963</span>&#160;                {</div><div class="line"><a name="l07964"></a><span class="lineno"> 7964</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_58;</div><div class="line"><a name="l07965"></a><span class="lineno"> 7965</span>&#160;                }</div><div class="line"><a name="l07966"></a><span class="lineno"> 7966</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07967"></a><span class="lineno"> 7967</span>&#160;basic_json_parser_52:</div><div class="line"><a name="l07968"></a><span class="lineno"> 7968</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07969"></a><span class="lineno"> 7969</span>&#160;                {</div><div class="line"><a name="l07970"></a><span class="lineno"> 7970</span>&#160;                    <span class="keywordflow">return</span> scan();</div><div class="line"><a name="l07971"></a><span class="lineno"> 7971</span>&#160;                }</div><div class="line"><a name="l07972"></a><span class="lineno"> 7972</span>&#160;basic_json_parser_54:</div><div class="line"><a name="l07973"></a><span class="lineno"> 7973</span>&#160;                ++m_cursor;</div><div class="line"><a name="l07974"></a><span class="lineno"> 7974</span>&#160;                <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l07975"></a><span class="lineno"> 7975</span>&#160;                {</div><div class="line"><a name="l07976"></a><span class="lineno"> 7976</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07977"></a><span class="lineno"> 7977</span>&#160;                }</div><div class="line"><a name="l07978"></a><span class="lineno"> 7978</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l07979"></a><span class="lineno"> 7979</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;@&#39;</span>)</div><div class="line"><a name="l07980"></a><span class="lineno"> 7980</span>&#160;                {</div><div class="line"><a name="l07981"></a><span class="lineno"> 7981</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07982"></a><span class="lineno"> 7982</span>&#160;                    {</div><div class="line"><a name="l07983"></a><span class="lineno"> 7983</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07984"></a><span class="lineno"> 7984</span>&#160;                    }</div><div class="line"><a name="l07985"></a><span class="lineno"> 7985</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07986"></a><span class="lineno"> 7986</span>&#160;                    {</div><div class="line"><a name="l07987"></a><span class="lineno"> 7987</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_60;</div><div class="line"><a name="l07988"></a><span class="lineno"> 7988</span>&#160;                    }</div><div class="line"><a name="l07989"></a><span class="lineno"> 7989</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l07990"></a><span class="lineno"> 7990</span>&#160;                }</div><div class="line"><a name="l07991"></a><span class="lineno"> 7991</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07992"></a><span class="lineno"> 7992</span>&#160;                {</div><div class="line"><a name="l07993"></a><span class="lineno"> 7993</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;F&#39;</span>)</div><div class="line"><a name="l07994"></a><span class="lineno"> 7994</span>&#160;                    {</div><div class="line"><a name="l07995"></a><span class="lineno"> 7995</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_60;</div><div class="line"><a name="l07996"></a><span class="lineno"> 7996</span>&#160;                    }</div><div class="line"><a name="l07997"></a><span class="lineno"> 7997</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;`&#39;</span>)</div><div class="line"><a name="l07998"></a><span class="lineno"> 7998</span>&#160;                    {</div><div class="line"><a name="l07999"></a><span class="lineno"> 7999</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08000"></a><span class="lineno"> 8000</span>&#160;                    }</div><div class="line"><a name="l08001"></a><span class="lineno"> 8001</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l08002"></a><span class="lineno"> 8002</span>&#160;                    {</div><div class="line"><a name="l08003"></a><span class="lineno"> 8003</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_60;</div><div class="line"><a name="l08004"></a><span class="lineno"> 8004</span>&#160;                    }</div><div class="line"><a name="l08005"></a><span class="lineno"> 8005</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08006"></a><span class="lineno"> 8006</span>&#160;                }</div><div class="line"><a name="l08007"></a><span class="lineno"> 8007</span>&#160;basic_json_parser_55:</div><div class="line"><a name="l08008"></a><span class="lineno"> 8008</span>&#160;                yych = *++m_cursor;</div><div class="line"><a name="l08009"></a><span class="lineno"> 8009</span>&#160;                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l08010"></a><span class="lineno"> 8010</span>&#160;                {</div><div class="line"><a name="l08011"></a><span class="lineno"> 8011</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_61;</div><div class="line"><a name="l08012"></a><span class="lineno"> 8012</span>&#160;                }</div><div class="line"><a name="l08013"></a><span class="lineno"> 8013</span>&#160;                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08014"></a><span class="lineno"> 8014</span>&#160;basic_json_parser_56:</div><div class="line"><a name="l08015"></a><span class="lineno"> 8015</span>&#160;                ++m_cursor;</div><div class="line"><a name="l08016"></a><span class="lineno"> 8016</span>&#160;                {</div><div class="line"><a name="l08017"></a><span class="lineno"> 8017</span>&#160;                    <span class="keywordflow">return</span> token_type::literal_null;</div><div class="line"><a name="l08018"></a><span class="lineno"> 8018</span>&#160;                }</div><div class="line"><a name="l08019"></a><span class="lineno"> 8019</span>&#160;basic_json_parser_58:</div><div class="line"><a name="l08020"></a><span class="lineno"> 8020</span>&#160;                ++m_cursor;</div><div class="line"><a name="l08021"></a><span class="lineno"> 8021</span>&#160;                {</div><div class="line"><a name="l08022"></a><span class="lineno"> 8022</span>&#160;                    <span class="keywordflow">return</span> token_type::literal_true;</div><div class="line"><a name="l08023"></a><span class="lineno"> 8023</span>&#160;                }</div><div class="line"><a name="l08024"></a><span class="lineno"> 8024</span>&#160;basic_json_parser_60:</div><div class="line"><a name="l08025"></a><span class="lineno"> 8025</span>&#160;                ++m_cursor;</div><div class="line"><a name="l08026"></a><span class="lineno"> 8026</span>&#160;                <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l08027"></a><span class="lineno"> 8027</span>&#160;                {</div><div class="line"><a name="l08028"></a><span class="lineno"> 8028</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08029"></a><span class="lineno"> 8029</span>&#160;                }</div><div class="line"><a name="l08030"></a><span class="lineno"> 8030</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l08031"></a><span class="lineno"> 8031</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;@&#39;</span>)</div><div class="line"><a name="l08032"></a><span class="lineno"> 8032</span>&#160;                {</div><div class="line"><a name="l08033"></a><span class="lineno"> 8033</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08034"></a><span class="lineno"> 8034</span>&#160;                    {</div><div class="line"><a name="l08035"></a><span class="lineno"> 8035</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08036"></a><span class="lineno"> 8036</span>&#160;                    }</div><div class="line"><a name="l08037"></a><span class="lineno"> 8037</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08038"></a><span class="lineno"> 8038</span>&#160;                    {</div><div class="line"><a name="l08039"></a><span class="lineno"> 8039</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_63;</div><div class="line"><a name="l08040"></a><span class="lineno"> 8040</span>&#160;                    }</div><div class="line"><a name="l08041"></a><span class="lineno"> 8041</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08042"></a><span class="lineno"> 8042</span>&#160;                }</div><div class="line"><a name="l08043"></a><span class="lineno"> 8043</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l08044"></a><span class="lineno"> 8044</span>&#160;                {</div><div class="line"><a name="l08045"></a><span class="lineno"> 8045</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;F&#39;</span>)</div><div class="line"><a name="l08046"></a><span class="lineno"> 8046</span>&#160;                    {</div><div class="line"><a name="l08047"></a><span class="lineno"> 8047</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_63;</div><div class="line"><a name="l08048"></a><span class="lineno"> 8048</span>&#160;                    }</div><div class="line"><a name="l08049"></a><span class="lineno"> 8049</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;`&#39;</span>)</div><div class="line"><a name="l08050"></a><span class="lineno"> 8050</span>&#160;                    {</div><div class="line"><a name="l08051"></a><span class="lineno"> 8051</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08052"></a><span class="lineno"> 8052</span>&#160;                    }</div><div class="line"><a name="l08053"></a><span class="lineno"> 8053</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l08054"></a><span class="lineno"> 8054</span>&#160;                    {</div><div class="line"><a name="l08055"></a><span class="lineno"> 8055</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_63;</div><div class="line"><a name="l08056"></a><span class="lineno"> 8056</span>&#160;                    }</div><div class="line"><a name="l08057"></a><span class="lineno"> 8057</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08058"></a><span class="lineno"> 8058</span>&#160;                }</div><div class="line"><a name="l08059"></a><span class="lineno"> 8059</span>&#160;basic_json_parser_61:</div><div class="line"><a name="l08060"></a><span class="lineno"> 8060</span>&#160;                ++m_cursor;</div><div class="line"><a name="l08061"></a><span class="lineno"> 8061</span>&#160;                {</div><div class="line"><a name="l08062"></a><span class="lineno"> 8062</span>&#160;                    <span class="keywordflow">return</span> token_type::literal_false;</div><div class="line"><a name="l08063"></a><span class="lineno"> 8063</span>&#160;                }</div><div class="line"><a name="l08064"></a><span class="lineno"> 8064</span>&#160;basic_json_parser_63:</div><div class="line"><a name="l08065"></a><span class="lineno"> 8065</span>&#160;                ++m_cursor;</div><div class="line"><a name="l08066"></a><span class="lineno"> 8066</span>&#160;                <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l08067"></a><span class="lineno"> 8067</span>&#160;                {</div><div class="line"><a name="l08068"></a><span class="lineno"> 8068</span>&#160;                    yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08069"></a><span class="lineno"> 8069</span>&#160;                }</div><div class="line"><a name="l08070"></a><span class="lineno"> 8070</span>&#160;                yych = *m_cursor;</div><div class="line"><a name="l08071"></a><span class="lineno"> 8071</span>&#160;                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;@&#39;</span>)</div><div class="line"><a name="l08072"></a><span class="lineno"> 8072</span>&#160;                {</div><div class="line"><a name="l08073"></a><span class="lineno"> 8073</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08074"></a><span class="lineno"> 8074</span>&#160;                    {</div><div class="line"><a name="l08075"></a><span class="lineno"> 8075</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08076"></a><span class="lineno"> 8076</span>&#160;                    }</div><div class="line"><a name="l08077"></a><span class="lineno"> 8077</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08078"></a><span class="lineno"> 8078</span>&#160;                    {</div><div class="line"><a name="l08079"></a><span class="lineno"> 8079</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08080"></a><span class="lineno"> 8080</span>&#160;                    }</div><div class="line"><a name="l08081"></a><span class="lineno"> 8081</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08082"></a><span class="lineno"> 8082</span>&#160;                }</div><div class="line"><a name="l08083"></a><span class="lineno"> 8083</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l08084"></a><span class="lineno"> 8084</span>&#160;                {</div><div class="line"><a name="l08085"></a><span class="lineno"> 8085</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;F&#39;</span>)</div><div class="line"><a name="l08086"></a><span class="lineno"> 8086</span>&#160;                    {</div><div class="line"><a name="l08087"></a><span class="lineno"> 8087</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08088"></a><span class="lineno"> 8088</span>&#160;                    }</div><div class="line"><a name="l08089"></a><span class="lineno"> 8089</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;`&#39;</span>)</div><div class="line"><a name="l08090"></a><span class="lineno"> 8090</span>&#160;                    {</div><div class="line"><a name="l08091"></a><span class="lineno"> 8091</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08092"></a><span class="lineno"> 8092</span>&#160;                    }</div><div class="line"><a name="l08093"></a><span class="lineno"> 8093</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l08094"></a><span class="lineno"> 8094</span>&#160;                    {</div><div class="line"><a name="l08095"></a><span class="lineno"> 8095</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08096"></a><span class="lineno"> 8096</span>&#160;                    }</div><div class="line"><a name="l08097"></a><span class="lineno"> 8097</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08098"></a><span class="lineno"> 8098</span>&#160;                }</div><div class="line"><a name="l08099"></a><span class="lineno"> 8099</span>&#160;            }</div><div class="line"><a name="l08100"></a><span class="lineno"> 8100</span>&#160;</div><div class="line"><a name="l08101"></a><span class="lineno"> 8101</span>&#160;        }</div><div class="line"><a name="l08102"></a><span class="lineno"> 8102</span>&#160;</div><div class="line"><a name="l08104"></a><span class="lineno"> 8104</span>&#160;        <span class="keywordtype">void</span> yyfill() noexcept</div><div class="line"><a name="l08105"></a><span class="lineno"> 8105</span>&#160;        {</div><div class="line"><a name="l08106"></a><span class="lineno"> 8106</span>&#160;            <span class="keywordflow">if</span> (m_stream == <span class="keyword">nullptr</span> or not * m_stream)</div><div class="line"><a name="l08107"></a><span class="lineno"> 8107</span>&#160;            {</div><div class="line"><a name="l08108"></a><span class="lineno"> 8108</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l08109"></a><span class="lineno"> 8109</span>&#160;            }</div><div class="line"><a name="l08110"></a><span class="lineno"> 8110</span>&#160;</div><div class="line"><a name="l08111"></a><span class="lineno"> 8111</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> offset_start = m_start - m_content;</div><div class="line"><a name="l08112"></a><span class="lineno"> 8112</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> offset_marker = m_marker - m_start;</div><div class="line"><a name="l08113"></a><span class="lineno"> 8113</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> offset_cursor = m_cursor - m_start;</div><div class="line"><a name="l08114"></a><span class="lineno"> 8114</span>&#160;</div><div class="line"><a name="l08115"></a><span class="lineno"> 8115</span>&#160;            m_buffer.erase(0, static_cast&lt;size_t&gt;(offset_start));</div><div class="line"><a name="l08116"></a><span class="lineno"> 8116</span>&#160;            std::string line;</div><div class="line"><a name="l08117"></a><span class="lineno"> 8117</span>&#160;            assert(m_stream != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l08118"></a><span class="lineno"> 8118</span>&#160;            std::getline(*m_stream, line);</div><div class="line"><a name="l08119"></a><span class="lineno"> 8119</span>&#160;            m_buffer += <span class="stringliteral">&quot;\n&quot;</span> + line; <span class="comment">// add line with newline symbol</span></div><div class="line"><a name="l08120"></a><span class="lineno"> 8120</span>&#160;</div><div class="line"><a name="l08121"></a><span class="lineno"> 8121</span>&#160;            m_content = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>lexer_char_t*<span class="keyword">&gt;</span>(m_buffer.c_str());</div><div class="line"><a name="l08122"></a><span class="lineno"> 8122</span>&#160;            assert(m_content != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l08123"></a><span class="lineno"> 8123</span>&#160;            m_start  = m_content;</div><div class="line"><a name="l08124"></a><span class="lineno"> 8124</span>&#160;            m_marker = m_start + offset_marker;</div><div class="line"><a name="l08125"></a><span class="lineno"> 8125</span>&#160;            m_cursor = m_start + offset_cursor;</div><div class="line"><a name="l08126"></a><span class="lineno"> 8126</span>&#160;            m_limit  = m_start + m_buffer.size() - 1;</div><div class="line"><a name="l08127"></a><span class="lineno"> 8127</span>&#160;        }</div><div class="line"><a name="l08128"></a><span class="lineno"> 8128</span>&#160;</div><div class="line"><a name="l08130"></a><span class="lineno"> 8130</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> get_token()<span class="keyword"> const</span></div><div class="line"><a name="l08131"></a><span class="lineno"> 8131</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08132"></a><span class="lineno"> 8132</span>&#160;            assert(m_start != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l08133"></a><span class="lineno"> 8133</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(reinterpret_cast&lt;typename string_t::const_pointer&gt;(m_start),</div><div class="line"><a name="l08134"></a><span class="lineno"> 8134</span>&#160;                            static_cast&lt;size_t&gt;(m_cursor - m_start));</div><div class="line"><a name="l08135"></a><span class="lineno"> 8135</span>&#160;        }</div><div class="line"><a name="l08136"></a><span class="lineno"> 8136</span>&#160;</div><div class="line"><a name="l08159"></a><span class="lineno"> 8159</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> get_string()<span class="keyword"> const</span></div><div class="line"><a name="l08160"></a><span class="lineno"> 8160</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08161"></a><span class="lineno"> 8161</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> result;</div><div class="line"><a name="l08162"></a><span class="lineno"> 8162</span>&#160;            result.reserve(static_cast&lt;size_t&gt;(m_cursor - m_start - 2));</div><div class="line"><a name="l08163"></a><span class="lineno"> 8163</span>&#160;</div><div class="line"><a name="l08164"></a><span class="lineno"> 8164</span>&#160;            <span class="comment">// iterate the result between the quotes</span></div><div class="line"><a name="l08165"></a><span class="lineno"> 8165</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> lexer_char_t* i = m_start + 1; i &lt; m_cursor - 1; ++i)</div><div class="line"><a name="l08166"></a><span class="lineno"> 8166</span>&#160;            {</div><div class="line"><a name="l08167"></a><span class="lineno"> 8167</span>&#160;                <span class="comment">// process escaped characters</span></div><div class="line"><a name="l08168"></a><span class="lineno"> 8168</span>&#160;                <span class="keywordflow">if</span> (*i == <span class="charliteral">&#39;\\&#39;</span>)</div><div class="line"><a name="l08169"></a><span class="lineno"> 8169</span>&#160;                {</div><div class="line"><a name="l08170"></a><span class="lineno"> 8170</span>&#160;                    <span class="comment">// read next character</span></div><div class="line"><a name="l08171"></a><span class="lineno"> 8171</span>&#160;                    ++i;</div><div class="line"><a name="l08172"></a><span class="lineno"> 8172</span>&#160;</div><div class="line"><a name="l08173"></a><span class="lineno"> 8173</span>&#160;                    <span class="keywordflow">switch</span> (*i)</div><div class="line"><a name="l08174"></a><span class="lineno"> 8174</span>&#160;                    {</div><div class="line"><a name="l08175"></a><span class="lineno"> 8175</span>&#160;                        <span class="comment">// the default escapes</span></div><div class="line"><a name="l08176"></a><span class="lineno"> 8176</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;t&#39;</span>:</div><div class="line"><a name="l08177"></a><span class="lineno"> 8177</span>&#160;                        {</div><div class="line"><a name="l08178"></a><span class="lineno"> 8178</span>&#160;                            result += <span class="stringliteral">&quot;\t&quot;</span>;</div><div class="line"><a name="l08179"></a><span class="lineno"> 8179</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08180"></a><span class="lineno"> 8180</span>&#160;                        }</div><div class="line"><a name="l08181"></a><span class="lineno"> 8181</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;b&#39;</span>:</div><div class="line"><a name="l08182"></a><span class="lineno"> 8182</span>&#160;                        {</div><div class="line"><a name="l08183"></a><span class="lineno"> 8183</span>&#160;                            result += <span class="stringliteral">&quot;\b&quot;</span>;</div><div class="line"><a name="l08184"></a><span class="lineno"> 8184</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08185"></a><span class="lineno"> 8185</span>&#160;                        }</div><div class="line"><a name="l08186"></a><span class="lineno"> 8186</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;f&#39;</span>:</div><div class="line"><a name="l08187"></a><span class="lineno"> 8187</span>&#160;                        {</div><div class="line"><a name="l08188"></a><span class="lineno"> 8188</span>&#160;                            result += <span class="stringliteral">&quot;\f&quot;</span>;</div><div class="line"><a name="l08189"></a><span class="lineno"> 8189</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08190"></a><span class="lineno"> 8190</span>&#160;                        }</div><div class="line"><a name="l08191"></a><span class="lineno"> 8191</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;n&#39;</span>:</div><div class="line"><a name="l08192"></a><span class="lineno"> 8192</span>&#160;                        {</div><div class="line"><a name="l08193"></a><span class="lineno"> 8193</span>&#160;                            result += <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l08194"></a><span class="lineno"> 8194</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08195"></a><span class="lineno"> 8195</span>&#160;                        }</div><div class="line"><a name="l08196"></a><span class="lineno"> 8196</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;r&#39;</span>:</div><div class="line"><a name="l08197"></a><span class="lineno"> 8197</span>&#160;                        {</div><div class="line"><a name="l08198"></a><span class="lineno"> 8198</span>&#160;                            result += <span class="stringliteral">&quot;\r&quot;</span>;</div><div class="line"><a name="l08199"></a><span class="lineno"> 8199</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08200"></a><span class="lineno"> 8200</span>&#160;                        }</div><div class="line"><a name="l08201"></a><span class="lineno"> 8201</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;\\&#39;</span>:</div><div class="line"><a name="l08202"></a><span class="lineno"> 8202</span>&#160;                        {</div><div class="line"><a name="l08203"></a><span class="lineno"> 8203</span>&#160;                            result += <span class="stringliteral">&quot;\\&quot;</span>;</div><div class="line"><a name="l08204"></a><span class="lineno"> 8204</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08205"></a><span class="lineno"> 8205</span>&#160;                        }</div><div class="line"><a name="l08206"></a><span class="lineno"> 8206</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;/&#39;</span>:</div><div class="line"><a name="l08207"></a><span class="lineno"> 8207</span>&#160;                        {</div><div class="line"><a name="l08208"></a><span class="lineno"> 8208</span>&#160;                            result += <span class="stringliteral">&quot;/&quot;</span>;</div><div class="line"><a name="l08209"></a><span class="lineno"> 8209</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08210"></a><span class="lineno"> 8210</span>&#160;                        }</div><div class="line"><a name="l08211"></a><span class="lineno"> 8211</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;&quot;&#39;</span>:</div><div class="line"><a name="l08212"></a><span class="lineno"> 8212</span>&#160;                        {</div><div class="line"><a name="l08213"></a><span class="lineno"> 8213</span>&#160;                            result += <span class="stringliteral">&quot;\&quot;&quot;</span>;</div><div class="line"><a name="l08214"></a><span class="lineno"> 8214</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08215"></a><span class="lineno"> 8215</span>&#160;                        }</div><div class="line"><a name="l08216"></a><span class="lineno"> 8216</span>&#160;</div><div class="line"><a name="l08217"></a><span class="lineno"> 8217</span>&#160;                        <span class="comment">// unicode</span></div><div class="line"><a name="l08218"></a><span class="lineno"> 8218</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;u&#39;</span>:</div><div class="line"><a name="l08219"></a><span class="lineno"> 8219</span>&#160;                        {</div><div class="line"><a name="l08220"></a><span class="lineno"> 8220</span>&#160;                            <span class="comment">// get code xxxx from uxxxx</span></div><div class="line"><a name="l08221"></a><span class="lineno"> 8221</span>&#160;                            <span class="keyword">auto</span> codepoint = std::strtoul(std::string(reinterpret_cast&lt;typename string_t::const_pointer&gt;(i + 1),</div><div class="line"><a name="l08222"></a><span class="lineno"> 8222</span>&#160;                                                          4).c_str(), <span class="keyword">nullptr</span>, 16);</div><div class="line"><a name="l08223"></a><span class="lineno"> 8223</span>&#160;</div><div class="line"><a name="l08224"></a><span class="lineno"> 8224</span>&#160;                            <span class="comment">// check if codepoint is a high surrogate</span></div><div class="line"><a name="l08225"></a><span class="lineno"> 8225</span>&#160;                            <span class="keywordflow">if</span> (codepoint &gt;= 0xD800 and codepoint &lt;= 0xDBFF)</div><div class="line"><a name="l08226"></a><span class="lineno"> 8226</span>&#160;                            {</div><div class="line"><a name="l08227"></a><span class="lineno"> 8227</span>&#160;                                <span class="comment">// make sure there is a subsequent unicode</span></div><div class="line"><a name="l08228"></a><span class="lineno"> 8228</span>&#160;                                <span class="keywordflow">if</span> ((i + 6 &gt;= m_limit) or * (i + 5) != <span class="charliteral">&#39;\\&#39;</span> or * (i + 6) != <span class="charliteral">&#39;u&#39;</span>)</div><div class="line"><a name="l08229"></a><span class="lineno"> 8229</span>&#160;                                {</div><div class="line"><a name="l08230"></a><span class="lineno"> 8230</span>&#160;                                    <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;missing low surrogate&quot;</span>);</div><div class="line"><a name="l08231"></a><span class="lineno"> 8231</span>&#160;                                }</div><div class="line"><a name="l08232"></a><span class="lineno"> 8232</span>&#160;</div><div class="line"><a name="l08233"></a><span class="lineno"> 8233</span>&#160;                                <span class="comment">// get code yyyy from uxxxx\uyyyy</span></div><div class="line"><a name="l08234"></a><span class="lineno"> 8234</span>&#160;                                <span class="keyword">auto</span> codepoint2 = std::strtoul(std::string(reinterpret_cast&lt;typename string_t::const_pointer&gt;</div><div class="line"><a name="l08235"></a><span class="lineno"> 8235</span>&#160;                                                               (i + 7), 4).c_str(), <span class="keyword">nullptr</span>, 16);</div><div class="line"><a name="l08236"></a><span class="lineno"> 8236</span>&#160;                                result += to_unicode(codepoint, codepoint2);</div><div class="line"><a name="l08237"></a><span class="lineno"> 8237</span>&#160;                                <span class="comment">// skip the next 10 characters (xxxx\uyyyy)</span></div><div class="line"><a name="l08238"></a><span class="lineno"> 8238</span>&#160;                                i += 10;</div><div class="line"><a name="l08239"></a><span class="lineno"> 8239</span>&#160;                            }</div><div class="line"><a name="l08240"></a><span class="lineno"> 8240</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l08241"></a><span class="lineno"> 8241</span>&#160;                            {</div><div class="line"><a name="l08242"></a><span class="lineno"> 8242</span>&#160;                                <span class="comment">// add unicode character(s)</span></div><div class="line"><a name="l08243"></a><span class="lineno"> 8243</span>&#160;                                result += to_unicode(codepoint);</div><div class="line"><a name="l08244"></a><span class="lineno"> 8244</span>&#160;                                <span class="comment">// skip the next four characters (xxxx)</span></div><div class="line"><a name="l08245"></a><span class="lineno"> 8245</span>&#160;                                i += 4;</div><div class="line"><a name="l08246"></a><span class="lineno"> 8246</span>&#160;                            }</div><div class="line"><a name="l08247"></a><span class="lineno"> 8247</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08248"></a><span class="lineno"> 8248</span>&#160;                        }</div><div class="line"><a name="l08249"></a><span class="lineno"> 8249</span>&#160;                    }</div><div class="line"><a name="l08250"></a><span class="lineno"> 8250</span>&#160;                }</div><div class="line"><a name="l08251"></a><span class="lineno"> 8251</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l08252"></a><span class="lineno"> 8252</span>&#160;                {</div><div class="line"><a name="l08253"></a><span class="lineno"> 8253</span>&#160;                    <span class="comment">// all other characters are just copied to the end of the</span></div><div class="line"><a name="l08254"></a><span class="lineno"> 8254</span>&#160;                    <span class="comment">// string</span></div><div class="line"><a name="l08255"></a><span class="lineno"> 8255</span>&#160;                    result.append(1, static_cast&lt;typename string_t::value_type&gt;(*i));</div><div class="line"><a name="l08256"></a><span class="lineno"> 8256</span>&#160;                }</div><div class="line"><a name="l08257"></a><span class="lineno"> 8257</span>&#160;            }</div><div class="line"><a name="l08258"></a><span class="lineno"> 8258</span>&#160;</div><div class="line"><a name="l08259"></a><span class="lineno"> 8259</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08260"></a><span class="lineno"> 8260</span>&#160;        }</div><div class="line"><a name="l08261"></a><span class="lineno"> 8261</span>&#160;</div><div class="line"><a name="l08282"></a><span class="lineno"> 8282</span>&#160;        <span class="keywordtype">long</span> <span class="keywordtype">double</span> str_to_float_t(<span class="keywordtype">long</span> <span class="keywordtype">double</span>* <span class="comment">/* type */</span>, <span class="keywordtype">char</span>** endptr)<span class="keyword"> const</span></div><div class="line"><a name="l08283"></a><span class="lineno"> 8283</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08284"></a><span class="lineno"> 8284</span>&#160;            <span class="keywordflow">return</span> std::strtold(reinterpret_cast&lt;typename string_t::const_pointer&gt;(m_start), endptr);</div><div class="line"><a name="l08285"></a><span class="lineno"> 8285</span>&#160;        }</div><div class="line"><a name="l08286"></a><span class="lineno"> 8286</span>&#160;</div><div class="line"><a name="l08302"></a><span class="lineno"> 8302</span>&#160;        <span class="keywordtype">double</span> str_to_float_t(<span class="keywordtype">double</span>* <span class="comment">/* type */</span>, <span class="keywordtype">char</span>** endptr)<span class="keyword"> const</span></div><div class="line"><a name="l08303"></a><span class="lineno"> 8303</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08304"></a><span class="lineno"> 8304</span>&#160;            <span class="keywordflow">return</span> std::strtod(reinterpret_cast&lt;typename string_t::const_pointer&gt;(m_start), endptr);</div><div class="line"><a name="l08305"></a><span class="lineno"> 8305</span>&#160;        }</div><div class="line"><a name="l08306"></a><span class="lineno"> 8306</span>&#160;</div><div class="line"><a name="l08322"></a><span class="lineno"> 8322</span>&#160;        <span class="keywordtype">float</span> str_to_float_t(<span class="keywordtype">float</span>* <span class="comment">/* type */</span>, <span class="keywordtype">char</span>** endptr)<span class="keyword"> const</span></div><div class="line"><a name="l08323"></a><span class="lineno"> 8323</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08324"></a><span class="lineno"> 8324</span>&#160;            <span class="keywordflow">return</span> std::strtof(reinterpret_cast&lt;typename string_t::const_pointer&gt;(m_start), endptr);</div><div class="line"><a name="l08325"></a><span class="lineno"> 8325</span>&#160;        }</div><div class="line"><a name="l08326"></a><span class="lineno"> 8326</span>&#160;</div><div class="line"><a name="l08348"></a><span class="lineno"> 8348</span>&#160;        <span class="keywordtype">void</span> get_number(basic_json&amp; result)<span class="keyword"> const</span></div><div class="line"><a name="l08349"></a><span class="lineno"> 8349</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08350"></a><span class="lineno"> 8350</span>&#160;            assert(m_start != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l08351"></a><span class="lineno"> 8351</span>&#160;</div><div class="line"><a name="l08352"></a><span class="lineno"> 8352</span>&#160;            <span class="keyword">const</span> lexer::lexer_char_t* curptr = m_start;</div><div class="line"><a name="l08353"></a><span class="lineno"> 8353</span>&#160;</div><div class="line"><a name="l08354"></a><span class="lineno"> 8354</span>&#160;            <span class="comment">// accumulate the integer conversion result (unsigned for now)</span></div><div class="line"><a name="l08355"></a><span class="lineno"> 8355</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> value = 0;</div><div class="line"><a name="l08356"></a><span class="lineno"> 8356</span>&#160;</div><div class="line"><a name="l08357"></a><span class="lineno"> 8357</span>&#160;            <span class="comment">// maximum absolute value of the relevant integer type</span></div><div class="line"><a name="l08358"></a><span class="lineno"> 8358</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> max;</div><div class="line"><a name="l08359"></a><span class="lineno"> 8359</span>&#160;</div><div class="line"><a name="l08360"></a><span class="lineno"> 8360</span>&#160;            <span class="comment">// temporarily store the type to avoid unecessary bitfield access</span></div><div class="line"><a name="l08361"></a><span class="lineno"> 8361</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> type;</div><div class="line"><a name="l08362"></a><span class="lineno"> 8362</span>&#160;</div><div class="line"><a name="l08363"></a><span class="lineno"> 8363</span>&#160;            <span class="comment">// look for sign</span></div><div class="line"><a name="l08364"></a><span class="lineno"> 8364</span>&#160;            <span class="keywordflow">if</span> (*curptr == <span class="charliteral">&#39;-&#39;</span>)</div><div class="line"><a name="l08365"></a><span class="lineno"> 8365</span>&#160;            {</div><div class="line"><a name="l08366"></a><span class="lineno"> 8366</span>&#160;                type = value_t::number_integer;</div><div class="line"><a name="l08367"></a><span class="lineno"> 8367</span>&#160;                max = <span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>((std::numeric_limits&lt;number_integer_t&gt;::max)()) + 1;</div><div class="line"><a name="l08368"></a><span class="lineno"> 8368</span>&#160;                curptr++;</div><div class="line"><a name="l08369"></a><span class="lineno"> 8369</span>&#160;            }</div><div class="line"><a name="l08370"></a><span class="lineno"> 8370</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l08371"></a><span class="lineno"> 8371</span>&#160;            {</div><div class="line"><a name="l08372"></a><span class="lineno"> 8372</span>&#160;                type = value_t::number_unsigned;</div><div class="line"><a name="l08373"></a><span class="lineno"> 8373</span>&#160;                max = <span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>((std::numeric_limits&lt;number_unsigned_t&gt;::max)());</div><div class="line"><a name="l08374"></a><span class="lineno"> 8374</span>&#160;            }</div><div class="line"><a name="l08375"></a><span class="lineno"> 8375</span>&#160;</div><div class="line"><a name="l08376"></a><span class="lineno"> 8376</span>&#160;            <span class="comment">// count the significant figures</span></div><div class="line"><a name="l08377"></a><span class="lineno"> 8377</span>&#160;            <span class="keywordflow">for</span> (; curptr &lt; m_cursor; curptr++)</div><div class="line"><a name="l08378"></a><span class="lineno"> 8378</span>&#160;            {</div><div class="line"><a name="l08379"></a><span class="lineno"> 8379</span>&#160;                <span class="comment">// quickly skip tests if a digit</span></div><div class="line"><a name="l08380"></a><span class="lineno"> 8380</span>&#160;                <span class="keywordflow">if</span> (*curptr &lt; &#39;0&#39; || *curptr &gt; <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08381"></a><span class="lineno"> 8381</span>&#160;                {</div><div class="line"><a name="l08382"></a><span class="lineno"> 8382</span>&#160;                    <span class="keywordflow">if</span> (*curptr == <span class="charliteral">&#39;.&#39;</span>)</div><div class="line"><a name="l08383"></a><span class="lineno"> 8383</span>&#160;                    {</div><div class="line"><a name="l08384"></a><span class="lineno"> 8384</span>&#160;                        <span class="comment">// don&#39;t count &#39;.&#39; but change to float</span></div><div class="line"><a name="l08385"></a><span class="lineno"> 8385</span>&#160;                        type = value_t::number_float;</div><div class="line"><a name="l08386"></a><span class="lineno"> 8386</span>&#160;                        <span class="keywordflow">continue</span>;</div><div class="line"><a name="l08387"></a><span class="lineno"> 8387</span>&#160;                    }</div><div class="line"><a name="l08388"></a><span class="lineno"> 8388</span>&#160;                    <span class="comment">// assume exponent (if not then will fail parse): change to</span></div><div class="line"><a name="l08389"></a><span class="lineno"> 8389</span>&#160;                    <span class="comment">// float, stop counting and record exponent details</span></div><div class="line"><a name="l08390"></a><span class="lineno"> 8390</span>&#160;                    type = value_t::number_float;</div><div class="line"><a name="l08391"></a><span class="lineno"> 8391</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l08392"></a><span class="lineno"> 8392</span>&#160;                }</div><div class="line"><a name="l08393"></a><span class="lineno"> 8393</span>&#160;</div><div class="line"><a name="l08394"></a><span class="lineno"> 8394</span>&#160;                <span class="comment">// skip if definitely not an integer</span></div><div class="line"><a name="l08395"></a><span class="lineno"> 8395</span>&#160;                <span class="keywordflow">if</span> (type != value_t::number_float)</div><div class="line"><a name="l08396"></a><span class="lineno"> 8396</span>&#160;                {</div><div class="line"><a name="l08397"></a><span class="lineno"> 8397</span>&#160;                    <span class="comment">// multiply last value by ten and add the new digit</span></div><div class="line"><a name="l08398"></a><span class="lineno"> 8398</span>&#160;                    <span class="keyword">auto</span> temp = value * 10 + *curptr - 0x30;</div><div class="line"><a name="l08399"></a><span class="lineno"> 8399</span>&#160;</div><div class="line"><a name="l08400"></a><span class="lineno"> 8400</span>&#160;                    <span class="comment">// test for overflow</span></div><div class="line"><a name="l08401"></a><span class="lineno"> 8401</span>&#160;                    <span class="keywordflow">if</span> (temp &lt; value || temp &gt; max)</div><div class="line"><a name="l08402"></a><span class="lineno"> 8402</span>&#160;                    {</div><div class="line"><a name="l08403"></a><span class="lineno"> 8403</span>&#160;                        <span class="comment">// overflow</span></div><div class="line"><a name="l08404"></a><span class="lineno"> 8404</span>&#160;                        type = value_t::number_float;</div><div class="line"><a name="l08405"></a><span class="lineno"> 8405</span>&#160;                    }</div><div class="line"><a name="l08406"></a><span class="lineno"> 8406</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08407"></a><span class="lineno"> 8407</span>&#160;                    {</div><div class="line"><a name="l08408"></a><span class="lineno"> 8408</span>&#160;                        <span class="comment">// no overflow - save it</span></div><div class="line"><a name="l08409"></a><span class="lineno"> 8409</span>&#160;                        value = temp;</div><div class="line"><a name="l08410"></a><span class="lineno"> 8410</span>&#160;                    }</div><div class="line"><a name="l08411"></a><span class="lineno"> 8411</span>&#160;                }</div><div class="line"><a name="l08412"></a><span class="lineno"> 8412</span>&#160;            }</div><div class="line"><a name="l08413"></a><span class="lineno"> 8413</span>&#160;</div><div class="line"><a name="l08414"></a><span class="lineno"> 8414</span>&#160;            <span class="comment">// save the value (if not a float)</span></div><div class="line"><a name="l08415"></a><span class="lineno"> 8415</span>&#160;            <span class="keywordflow">if</span> (type == value_t::number_unsigned)</div><div class="line"><a name="l08416"></a><span class="lineno"> 8416</span>&#160;            {</div><div class="line"><a name="l08417"></a><span class="lineno"> 8417</span>&#160;                result.m_value.number_unsigned = value;</div><div class="line"><a name="l08418"></a><span class="lineno"> 8418</span>&#160;            }</div><div class="line"><a name="l08419"></a><span class="lineno"> 8419</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == value_t::number_integer)</div><div class="line"><a name="l08420"></a><span class="lineno"> 8420</span>&#160;            {</div><div class="line"><a name="l08421"></a><span class="lineno"> 8421</span>&#160;                result.m_value.number_integer = -<span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(value);</div><div class="line"><a name="l08422"></a><span class="lineno"> 8422</span>&#160;            }</div><div class="line"><a name="l08423"></a><span class="lineno"> 8423</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l08424"></a><span class="lineno"> 8424</span>&#160;            {</div><div class="line"><a name="l08425"></a><span class="lineno"> 8425</span>&#160;                <span class="comment">// parse with strtod</span></div><div class="line"><a name="l08426"></a><span class="lineno"> 8426</span>&#160;                result.m_value.number_float = str_to_float_t(static_cast&lt;number_float_t*&gt;(<span class="keyword">nullptr</span>), NULL);</div><div class="line"><a name="l08427"></a><span class="lineno"> 8427</span>&#160;            }</div><div class="line"><a name="l08428"></a><span class="lineno"> 8428</span>&#160;</div><div class="line"><a name="l08429"></a><span class="lineno"> 8429</span>&#160;            <span class="comment">// save the type</span></div><div class="line"><a name="l08430"></a><span class="lineno"> 8430</span>&#160;            result.m_type = type;</div><div class="line"><a name="l08431"></a><span class="lineno"> 8431</span>&#160;        }</div><div class="line"><a name="l08432"></a><span class="lineno"> 8432</span>&#160;</div><div class="line"><a name="l08433"></a><span class="lineno"> 8433</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l08435"></a><span class="lineno"> 8435</span>&#160;        std::istream* m_stream = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08437"></a><span class="lineno"> 8437</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> m_buffer;</div><div class="line"><a name="l08439"></a><span class="lineno"> 8439</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_content = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08441"></a><span class="lineno"> 8441</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_start = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08443"></a><span class="lineno"> 8443</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_marker = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08445"></a><span class="lineno"> 8445</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_cursor = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08447"></a><span class="lineno"> 8447</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_limit = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08448"></a><span class="lineno"> 8448</span>&#160;    };</div><div class="line"><a name="l08449"></a><span class="lineno"> 8449</span>&#160;</div><div class="line"><a name="l08455"></a><span class="lineno"> 8455</span>&#160;    <span class="keyword">class </span>parser</div><div class="line"><a name="l08456"></a><span class="lineno"> 8456</span>&#160;    {</div><div class="line"><a name="l08457"></a><span class="lineno"> 8457</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l08459"></a><span class="lineno"> 8459</span>&#160;        parser(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s, <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>) noexcept</div><div class="line"><a name="l08460"></a><span class="lineno"> 8460</span>&#160;            : callback(cb), m_lexer(s)</div><div class="line"><a name="l08461"></a><span class="lineno"> 8461</span>&#160;        {</div><div class="line"><a name="l08462"></a><span class="lineno"> 8462</span>&#160;            <span class="comment">// read first token</span></div><div class="line"><a name="l08463"></a><span class="lineno"> 8463</span>&#160;            get_token();</div><div class="line"><a name="l08464"></a><span class="lineno"> 8464</span>&#160;        }</div><div class="line"><a name="l08465"></a><span class="lineno"> 8465</span>&#160;</div><div class="line"><a name="l08467"></a><span class="lineno"> 8467</span>&#160;        parser(std::istream&amp; _is, <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>) noexcept</div><div class="line"><a name="l08468"></a><span class="lineno"> 8468</span>&#160;            : callback(cb), m_lexer(&amp;_is)</div><div class="line"><a name="l08469"></a><span class="lineno"> 8469</span>&#160;        {</div><div class="line"><a name="l08470"></a><span class="lineno"> 8470</span>&#160;            <span class="comment">// read first token</span></div><div class="line"><a name="l08471"></a><span class="lineno"> 8471</span>&#160;            get_token();</div><div class="line"><a name="l08472"></a><span class="lineno"> 8472</span>&#160;        }</div><div class="line"><a name="l08473"></a><span class="lineno"> 8473</span>&#160;</div><div class="line"><a name="l08475"></a><span class="lineno"> 8475</span>&#160;        basic_json parse()</div><div class="line"><a name="l08476"></a><span class="lineno"> 8476</span>&#160;        {</div><div class="line"><a name="l08477"></a><span class="lineno"> 8477</span>&#160;            basic_json result = parse_internal(<span class="keyword">true</span>);</div><div class="line"><a name="l08478"></a><span class="lineno"> 8478</span>&#160;</div><div class="line"><a name="l08479"></a><span class="lineno"> 8479</span>&#160;            expect(lexer::token_type::end_of_input);</div><div class="line"><a name="l08480"></a><span class="lineno"> 8480</span>&#160;</div><div class="line"><a name="l08481"></a><span class="lineno"> 8481</span>&#160;            <span class="comment">// return parser result and replace it with null in case the</span></div><div class="line"><a name="l08482"></a><span class="lineno"> 8482</span>&#160;            <span class="comment">// top-level value was discarded by the callback function</span></div><div class="line"><a name="l08483"></a><span class="lineno"> 8483</span>&#160;            <span class="keywordflow">return</span> result.<a class="code" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a>() ? basic_json() : result;</div><div class="line"><a name="l08484"></a><span class="lineno"> 8484</span>&#160;        }</div><div class="line"><a name="l08485"></a><span class="lineno"> 8485</span>&#160;</div><div class="line"><a name="l08486"></a><span class="lineno"> 8486</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l08488"></a><span class="lineno"> 8488</span>&#160;        basic_json parse_internal(<span class="keywordtype">bool</span> keep)</div><div class="line"><a name="l08489"></a><span class="lineno"> 8489</span>&#160;        {</div><div class="line"><a name="l08490"></a><span class="lineno"> 8490</span>&#160;            <span class="keyword">auto</span> result = basic_json(value_t::discarded);</div><div class="line"><a name="l08491"></a><span class="lineno"> 8491</span>&#160;</div><div class="line"><a name="l08492"></a><span class="lineno"> 8492</span>&#160;            <span class="keywordflow">switch</span> (last_token)</div><div class="line"><a name="l08493"></a><span class="lineno"> 8493</span>&#160;            {</div><div class="line"><a name="l08494"></a><span class="lineno"> 8494</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::begin_object:</div><div class="line"><a name="l08495"></a><span class="lineno"> 8495</span>&#160;                {</div><div class="line"><a name="l08496"></a><span class="lineno"> 8496</span>&#160;                    <span class="keywordflow">if</span> (keep and (not callback or (keep = callback(depth++, parse_event_t::object_start, result))))</div><div class="line"><a name="l08497"></a><span class="lineno"> 8497</span>&#160;                    {</div><div class="line"><a name="l08498"></a><span class="lineno"> 8498</span>&#160;                        <span class="comment">// explicitly set result to object to cope with {}</span></div><div class="line"><a name="l08499"></a><span class="lineno"> 8499</span>&#160;                        result.m_type = value_t::object;</div><div class="line"><a name="l08500"></a><span class="lineno"> 8500</span>&#160;                        result.m_value = json_value(value_t::object);</div><div class="line"><a name="l08501"></a><span class="lineno"> 8501</span>&#160;                    }</div><div class="line"><a name="l08502"></a><span class="lineno"> 8502</span>&#160;</div><div class="line"><a name="l08503"></a><span class="lineno"> 8503</span>&#160;                    <span class="comment">// read next token</span></div><div class="line"><a name="l08504"></a><span class="lineno"> 8504</span>&#160;                    get_token();</div><div class="line"><a name="l08505"></a><span class="lineno"> 8505</span>&#160;</div><div class="line"><a name="l08506"></a><span class="lineno"> 8506</span>&#160;                    <span class="comment">// closing } -&gt; we are done</span></div><div class="line"><a name="l08507"></a><span class="lineno"> 8507</span>&#160;                    <span class="keywordflow">if</span> (last_token == lexer::token_type::end_object)</div><div class="line"><a name="l08508"></a><span class="lineno"> 8508</span>&#160;                    {</div><div class="line"><a name="l08509"></a><span class="lineno"> 8509</span>&#160;                        get_token();</div><div class="line"><a name="l08510"></a><span class="lineno"> 8510</span>&#160;                        <span class="keywordflow">if</span> (keep and callback and not callback(--depth, parse_event_t::object_end, result))</div><div class="line"><a name="l08511"></a><span class="lineno"> 8511</span>&#160;                        {</div><div class="line"><a name="l08512"></a><span class="lineno"> 8512</span>&#160;                            result = basic_json(value_t::discarded);</div><div class="line"><a name="l08513"></a><span class="lineno"> 8513</span>&#160;                        }</div><div class="line"><a name="l08514"></a><span class="lineno"> 8514</span>&#160;                        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08515"></a><span class="lineno"> 8515</span>&#160;                    }</div><div class="line"><a name="l08516"></a><span class="lineno"> 8516</span>&#160;</div><div class="line"><a name="l08517"></a><span class="lineno"> 8517</span>&#160;                    <span class="comment">// no comma is expected here</span></div><div class="line"><a name="l08518"></a><span class="lineno"> 8518</span>&#160;                    unexpect(lexer::token_type::value_separator);</div><div class="line"><a name="l08519"></a><span class="lineno"> 8519</span>&#160;</div><div class="line"><a name="l08520"></a><span class="lineno"> 8520</span>&#160;                    <span class="comment">// otherwise: parse key-value pairs</span></div><div class="line"><a name="l08521"></a><span class="lineno"> 8521</span>&#160;                    <span class="keywordflow">do</span></div><div class="line"><a name="l08522"></a><span class="lineno"> 8522</span>&#160;                    {</div><div class="line"><a name="l08523"></a><span class="lineno"> 8523</span>&#160;                        <span class="comment">// ugly, but could be fixed with loop reorganization</span></div><div class="line"><a name="l08524"></a><span class="lineno"> 8524</span>&#160;                        <span class="keywordflow">if</span> (last_token == lexer::token_type::value_separator)</div><div class="line"><a name="l08525"></a><span class="lineno"> 8525</span>&#160;                        {</div><div class="line"><a name="l08526"></a><span class="lineno"> 8526</span>&#160;                            get_token();</div><div class="line"><a name="l08527"></a><span class="lineno"> 8527</span>&#160;                        }</div><div class="line"><a name="l08528"></a><span class="lineno"> 8528</span>&#160;</div><div class="line"><a name="l08529"></a><span class="lineno"> 8529</span>&#160;                        <span class="comment">// store key</span></div><div class="line"><a name="l08530"></a><span class="lineno"> 8530</span>&#160;                        expect(lexer::token_type::value_string);</div><div class="line"><a name="l08531"></a><span class="lineno"> 8531</span>&#160;                        <span class="keyword">const</span> <span class="keyword">auto</span> key = m_lexer.get_string();</div><div class="line"><a name="l08532"></a><span class="lineno"> 8532</span>&#160;</div><div class="line"><a name="l08533"></a><span class="lineno"> 8533</span>&#160;                        <span class="keywordtype">bool</span> keep_tag = <span class="keyword">false</span>;</div><div class="line"><a name="l08534"></a><span class="lineno"> 8534</span>&#160;                        <span class="keywordflow">if</span> (keep)</div><div class="line"><a name="l08535"></a><span class="lineno"> 8535</span>&#160;                        {</div><div class="line"><a name="l08536"></a><span class="lineno"> 8536</span>&#160;                            <span class="keywordflow">if</span> (callback)</div><div class="line"><a name="l08537"></a><span class="lineno"> 8537</span>&#160;                            {</div><div class="line"><a name="l08538"></a><span class="lineno"> 8538</span>&#160;                                basic_json k(key);</div><div class="line"><a name="l08539"></a><span class="lineno"> 8539</span>&#160;                                keep_tag = callback(depth, parse_event_t::key, k);</div><div class="line"><a name="l08540"></a><span class="lineno"> 8540</span>&#160;                            }</div><div class="line"><a name="l08541"></a><span class="lineno"> 8541</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l08542"></a><span class="lineno"> 8542</span>&#160;                            {</div><div class="line"><a name="l08543"></a><span class="lineno"> 8543</span>&#160;                                keep_tag = <span class="keyword">true</span>;</div><div class="line"><a name="l08544"></a><span class="lineno"> 8544</span>&#160;                            }</div><div class="line"><a name="l08545"></a><span class="lineno"> 8545</span>&#160;                        }</div><div class="line"><a name="l08546"></a><span class="lineno"> 8546</span>&#160;</div><div class="line"><a name="l08547"></a><span class="lineno"> 8547</span>&#160;                        <span class="comment">// parse separator (:)</span></div><div class="line"><a name="l08548"></a><span class="lineno"> 8548</span>&#160;                        get_token();</div><div class="line"><a name="l08549"></a><span class="lineno"> 8549</span>&#160;                        expect(lexer::token_type::name_separator);</div><div class="line"><a name="l08550"></a><span class="lineno"> 8550</span>&#160;</div><div class="line"><a name="l08551"></a><span class="lineno"> 8551</span>&#160;                        <span class="comment">// parse and add value</span></div><div class="line"><a name="l08552"></a><span class="lineno"> 8552</span>&#160;                        get_token();</div><div class="line"><a name="l08553"></a><span class="lineno"> 8553</span>&#160;                        <span class="keyword">auto</span> value = parse_internal(keep);</div><div class="line"><a name="l08554"></a><span class="lineno"> 8554</span>&#160;                        <span class="keywordflow">if</span> (keep and keep_tag and not value.is_discarded())</div><div class="line"><a name="l08555"></a><span class="lineno"> 8555</span>&#160;                        {</div><div class="line"><a name="l08556"></a><span class="lineno"> 8556</span>&#160;                            result[key] = std::move(value);</div><div class="line"><a name="l08557"></a><span class="lineno"> 8557</span>&#160;                        }</div><div class="line"><a name="l08558"></a><span class="lineno"> 8558</span>&#160;                    }</div><div class="line"><a name="l08559"></a><span class="lineno"> 8559</span>&#160;                    <span class="keywordflow">while</span> (last_token == lexer::token_type::value_separator);</div><div class="line"><a name="l08560"></a><span class="lineno"> 8560</span>&#160;</div><div class="line"><a name="l08561"></a><span class="lineno"> 8561</span>&#160;                    <span class="comment">// closing }</span></div><div class="line"><a name="l08562"></a><span class="lineno"> 8562</span>&#160;                    expect(lexer::token_type::end_object);</div><div class="line"><a name="l08563"></a><span class="lineno"> 8563</span>&#160;                    get_token();</div><div class="line"><a name="l08564"></a><span class="lineno"> 8564</span>&#160;                    <span class="keywordflow">if</span> (keep and callback and not callback(--depth, parse_event_t::object_end, result))</div><div class="line"><a name="l08565"></a><span class="lineno"> 8565</span>&#160;                    {</div><div class="line"><a name="l08566"></a><span class="lineno"> 8566</span>&#160;                        result = basic_json(value_t::discarded);</div><div class="line"><a name="l08567"></a><span class="lineno"> 8567</span>&#160;                    }</div><div class="line"><a name="l08568"></a><span class="lineno"> 8568</span>&#160;</div><div class="line"><a name="l08569"></a><span class="lineno"> 8569</span>&#160;                    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08570"></a><span class="lineno"> 8570</span>&#160;                }</div><div class="line"><a name="l08571"></a><span class="lineno"> 8571</span>&#160;</div><div class="line"><a name="l08572"></a><span class="lineno"> 8572</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::begin_array:</div><div class="line"><a name="l08573"></a><span class="lineno"> 8573</span>&#160;                {</div><div class="line"><a name="l08574"></a><span class="lineno"> 8574</span>&#160;                    <span class="keywordflow">if</span> (keep and (not callback or (keep = callback(depth++, parse_event_t::array_start, result))))</div><div class="line"><a name="l08575"></a><span class="lineno"> 8575</span>&#160;                    {</div><div class="line"><a name="l08576"></a><span class="lineno"> 8576</span>&#160;                        <span class="comment">// explicitly set result to object to cope with []</span></div><div class="line"><a name="l08577"></a><span class="lineno"> 8577</span>&#160;                        result.m_type = value_t::array;</div><div class="line"><a name="l08578"></a><span class="lineno"> 8578</span>&#160;                        result.m_value = json_value(value_t::array);</div><div class="line"><a name="l08579"></a><span class="lineno"> 8579</span>&#160;                    }</div><div class="line"><a name="l08580"></a><span class="lineno"> 8580</span>&#160;</div><div class="line"><a name="l08581"></a><span class="lineno"> 8581</span>&#160;                    <span class="comment">// read next token</span></div><div class="line"><a name="l08582"></a><span class="lineno"> 8582</span>&#160;                    get_token();</div><div class="line"><a name="l08583"></a><span class="lineno"> 8583</span>&#160;</div><div class="line"><a name="l08584"></a><span class="lineno"> 8584</span>&#160;                    <span class="comment">// closing ] -&gt; we are done</span></div><div class="line"><a name="l08585"></a><span class="lineno"> 8585</span>&#160;                    <span class="keywordflow">if</span> (last_token == lexer::token_type::end_array)</div><div class="line"><a name="l08586"></a><span class="lineno"> 8586</span>&#160;                    {</div><div class="line"><a name="l08587"></a><span class="lineno"> 8587</span>&#160;                        get_token();</div><div class="line"><a name="l08588"></a><span class="lineno"> 8588</span>&#160;                        <span class="keywordflow">if</span> (callback and not callback(--depth, parse_event_t::array_end, result))</div><div class="line"><a name="l08589"></a><span class="lineno"> 8589</span>&#160;                        {</div><div class="line"><a name="l08590"></a><span class="lineno"> 8590</span>&#160;                            result = basic_json(value_t::discarded);</div><div class="line"><a name="l08591"></a><span class="lineno"> 8591</span>&#160;                        }</div><div class="line"><a name="l08592"></a><span class="lineno"> 8592</span>&#160;                        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08593"></a><span class="lineno"> 8593</span>&#160;                    }</div><div class="line"><a name="l08594"></a><span class="lineno"> 8594</span>&#160;</div><div class="line"><a name="l08595"></a><span class="lineno"> 8595</span>&#160;                    <span class="comment">// no comma is expected here</span></div><div class="line"><a name="l08596"></a><span class="lineno"> 8596</span>&#160;                    unexpect(lexer::token_type::value_separator);</div><div class="line"><a name="l08597"></a><span class="lineno"> 8597</span>&#160;</div><div class="line"><a name="l08598"></a><span class="lineno"> 8598</span>&#160;                    <span class="comment">// otherwise: parse values</span></div><div class="line"><a name="l08599"></a><span class="lineno"> 8599</span>&#160;                    <span class="keywordflow">do</span></div><div class="line"><a name="l08600"></a><span class="lineno"> 8600</span>&#160;                    {</div><div class="line"><a name="l08601"></a><span class="lineno"> 8601</span>&#160;                        <span class="comment">// ugly, but could be fixed with loop reorganization</span></div><div class="line"><a name="l08602"></a><span class="lineno"> 8602</span>&#160;                        <span class="keywordflow">if</span> (last_token == lexer::token_type::value_separator)</div><div class="line"><a name="l08603"></a><span class="lineno"> 8603</span>&#160;                        {</div><div class="line"><a name="l08604"></a><span class="lineno"> 8604</span>&#160;                            get_token();</div><div class="line"><a name="l08605"></a><span class="lineno"> 8605</span>&#160;                        }</div><div class="line"><a name="l08606"></a><span class="lineno"> 8606</span>&#160;</div><div class="line"><a name="l08607"></a><span class="lineno"> 8607</span>&#160;                        <span class="comment">// parse value</span></div><div class="line"><a name="l08608"></a><span class="lineno"> 8608</span>&#160;                        <span class="keyword">auto</span> value = parse_internal(keep);</div><div class="line"><a name="l08609"></a><span class="lineno"> 8609</span>&#160;                        <span class="keywordflow">if</span> (keep and not value.is_discarded())</div><div class="line"><a name="l08610"></a><span class="lineno"> 8610</span>&#160;                        {</div><div class="line"><a name="l08611"></a><span class="lineno"> 8611</span>&#160;                            result.push_back(std::move(value));</div><div class="line"><a name="l08612"></a><span class="lineno"> 8612</span>&#160;                        }</div><div class="line"><a name="l08613"></a><span class="lineno"> 8613</span>&#160;                    }</div><div class="line"><a name="l08614"></a><span class="lineno"> 8614</span>&#160;                    <span class="keywordflow">while</span> (last_token == lexer::token_type::value_separator);</div><div class="line"><a name="l08615"></a><span class="lineno"> 8615</span>&#160;</div><div class="line"><a name="l08616"></a><span class="lineno"> 8616</span>&#160;                    <span class="comment">// closing ]</span></div><div class="line"><a name="l08617"></a><span class="lineno"> 8617</span>&#160;                    expect(lexer::token_type::end_array);</div><div class="line"><a name="l08618"></a><span class="lineno"> 8618</span>&#160;                    get_token();</div><div class="line"><a name="l08619"></a><span class="lineno"> 8619</span>&#160;                    <span class="keywordflow">if</span> (keep and callback and not callback(--depth, parse_event_t::array_end, result))</div><div class="line"><a name="l08620"></a><span class="lineno"> 8620</span>&#160;                    {</div><div class="line"><a name="l08621"></a><span class="lineno"> 8621</span>&#160;                        result = basic_json(value_t::discarded);</div><div class="line"><a name="l08622"></a><span class="lineno"> 8622</span>&#160;                    }</div><div class="line"><a name="l08623"></a><span class="lineno"> 8623</span>&#160;</div><div class="line"><a name="l08624"></a><span class="lineno"> 8624</span>&#160;                    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08625"></a><span class="lineno"> 8625</span>&#160;                }</div><div class="line"><a name="l08626"></a><span class="lineno"> 8626</span>&#160;</div><div class="line"><a name="l08627"></a><span class="lineno"> 8627</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::literal_null:</div><div class="line"><a name="l08628"></a><span class="lineno"> 8628</span>&#160;                {</div><div class="line"><a name="l08629"></a><span class="lineno"> 8629</span>&#160;                    get_token();</div><div class="line"><a name="l08630"></a><span class="lineno"> 8630</span>&#160;                    result.m_type = value_t::null;</div><div class="line"><a name="l08631"></a><span class="lineno"> 8631</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l08632"></a><span class="lineno"> 8632</span>&#160;                }</div><div class="line"><a name="l08633"></a><span class="lineno"> 8633</span>&#160;</div><div class="line"><a name="l08634"></a><span class="lineno"> 8634</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::value_string:</div><div class="line"><a name="l08635"></a><span class="lineno"> 8635</span>&#160;                {</div><div class="line"><a name="l08636"></a><span class="lineno"> 8636</span>&#160;                    <span class="keyword">const</span> <span class="keyword">auto</span> s = m_lexer.get_string();</div><div class="line"><a name="l08637"></a><span class="lineno"> 8637</span>&#160;                    get_token();</div><div class="line"><a name="l08638"></a><span class="lineno"> 8638</span>&#160;                    result = basic_json(s);</div><div class="line"><a name="l08639"></a><span class="lineno"> 8639</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l08640"></a><span class="lineno"> 8640</span>&#160;                }</div><div class="line"><a name="l08641"></a><span class="lineno"> 8641</span>&#160;</div><div class="line"><a name="l08642"></a><span class="lineno"> 8642</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::literal_true:</div><div class="line"><a name="l08643"></a><span class="lineno"> 8643</span>&#160;                {</div><div class="line"><a name="l08644"></a><span class="lineno"> 8644</span>&#160;                    get_token();</div><div class="line"><a name="l08645"></a><span class="lineno"> 8645</span>&#160;                    result.m_type = value_t::boolean;</div><div class="line"><a name="l08646"></a><span class="lineno"> 8646</span>&#160;                    result.m_value = <span class="keyword">true</span>;</div><div class="line"><a name="l08647"></a><span class="lineno"> 8647</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l08648"></a><span class="lineno"> 8648</span>&#160;                }</div><div class="line"><a name="l08649"></a><span class="lineno"> 8649</span>&#160;</div><div class="line"><a name="l08650"></a><span class="lineno"> 8650</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::literal_false:</div><div class="line"><a name="l08651"></a><span class="lineno"> 8651</span>&#160;                {</div><div class="line"><a name="l08652"></a><span class="lineno"> 8652</span>&#160;                    get_token();</div><div class="line"><a name="l08653"></a><span class="lineno"> 8653</span>&#160;                    result.m_type = value_t::boolean;</div><div class="line"><a name="l08654"></a><span class="lineno"> 8654</span>&#160;                    result.m_value = <span class="keyword">false</span>;</div><div class="line"><a name="l08655"></a><span class="lineno"> 8655</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l08656"></a><span class="lineno"> 8656</span>&#160;                }</div><div class="line"><a name="l08657"></a><span class="lineno"> 8657</span>&#160;</div><div class="line"><a name="l08658"></a><span class="lineno"> 8658</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::value_number:</div><div class="line"><a name="l08659"></a><span class="lineno"> 8659</span>&#160;                {</div><div class="line"><a name="l08660"></a><span class="lineno"> 8660</span>&#160;                    m_lexer.get_number(result);</div><div class="line"><a name="l08661"></a><span class="lineno"> 8661</span>&#160;                    get_token();</div><div class="line"><a name="l08662"></a><span class="lineno"> 8662</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l08663"></a><span class="lineno"> 8663</span>&#160;                }</div><div class="line"><a name="l08664"></a><span class="lineno"> 8664</span>&#160;</div><div class="line"><a name="l08665"></a><span class="lineno"> 8665</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l08666"></a><span class="lineno"> 8666</span>&#160;                {</div><div class="line"><a name="l08667"></a><span class="lineno"> 8667</span>&#160;                    <span class="comment">// the last token was unexpected</span></div><div class="line"><a name="l08668"></a><span class="lineno"> 8668</span>&#160;                    unexpect(last_token);</div><div class="line"><a name="l08669"></a><span class="lineno"> 8669</span>&#160;                }</div><div class="line"><a name="l08670"></a><span class="lineno"> 8670</span>&#160;            }</div><div class="line"><a name="l08671"></a><span class="lineno"> 8671</span>&#160;</div><div class="line"><a name="l08672"></a><span class="lineno"> 8672</span>&#160;            <span class="keywordflow">if</span> (keep and callback and not callback(depth, parse_event_t::value, result))</div><div class="line"><a name="l08673"></a><span class="lineno"> 8673</span>&#160;            {</div><div class="line"><a name="l08674"></a><span class="lineno"> 8674</span>&#160;                result = basic_json(value_t::discarded);</div><div class="line"><a name="l08675"></a><span class="lineno"> 8675</span>&#160;            }</div><div class="line"><a name="l08676"></a><span class="lineno"> 8676</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08677"></a><span class="lineno"> 8677</span>&#160;        }</div><div class="line"><a name="l08678"></a><span class="lineno"> 8678</span>&#160;</div><div class="line"><a name="l08680"></a><span class="lineno"> 8680</span>&#160;        <span class="keyword">typename</span> lexer::token_type get_token() noexcept</div><div class="line"><a name="l08681"></a><span class="lineno"> 8681</span>&#160;        {</div><div class="line"><a name="l08682"></a><span class="lineno"> 8682</span>&#160;            last_token = m_lexer.scan();</div><div class="line"><a name="l08683"></a><span class="lineno"> 8683</span>&#160;            <span class="keywordflow">return</span> last_token;</div><div class="line"><a name="l08684"></a><span class="lineno"> 8684</span>&#160;        }</div><div class="line"><a name="l08685"></a><span class="lineno"> 8685</span>&#160;</div><div class="line"><a name="l08686"></a><span class="lineno"> 8686</span>&#160;        <span class="keywordtype">void</span> expect(<span class="keyword">typename</span> lexer::token_type t)<span class="keyword"> const</span></div><div class="line"><a name="l08687"></a><span class="lineno"> 8687</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08688"></a><span class="lineno"> 8688</span>&#160;            <span class="keywordflow">if</span> (t != last_token)</div><div class="line"><a name="l08689"></a><span class="lineno"> 8689</span>&#160;            {</div><div class="line"><a name="l08690"></a><span class="lineno"> 8690</span>&#160;                std::string error_msg = <span class="stringliteral">&quot;parse error - unexpected &quot;</span>;</div><div class="line"><a name="l08691"></a><span class="lineno"> 8691</span>&#160;                error_msg += (last_token == lexer::token_type::parse_error ? (<span class="stringliteral">&quot;&#39;&quot;</span> +  m_lexer.get_token() + <span class="stringliteral">&quot;&#39;&quot;</span>) :</div><div class="line"><a name="l08692"></a><span class="lineno"> 8692</span>&#160;                              lexer::token_type_name(last_token));</div><div class="line"><a name="l08693"></a><span class="lineno"> 8693</span>&#160;                error_msg += <span class="stringliteral">&quot;; expected &quot;</span> + lexer::token_type_name(t);</div><div class="line"><a name="l08694"></a><span class="lineno"> 8694</span>&#160;                <span class="keywordflow">throw</span> std::invalid_argument(error_msg);</div><div class="line"><a name="l08695"></a><span class="lineno"> 8695</span>&#160;            }</div><div class="line"><a name="l08696"></a><span class="lineno"> 8696</span>&#160;        }</div><div class="line"><a name="l08697"></a><span class="lineno"> 8697</span>&#160;</div><div class="line"><a name="l08698"></a><span class="lineno"> 8698</span>&#160;        <span class="keywordtype">void</span> unexpect(<span class="keyword">typename</span> lexer::token_type t)<span class="keyword"> const</span></div><div class="line"><a name="l08699"></a><span class="lineno"> 8699</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08700"></a><span class="lineno"> 8700</span>&#160;            <span class="keywordflow">if</span> (t == last_token)</div><div class="line"><a name="l08701"></a><span class="lineno"> 8701</span>&#160;            {</div><div class="line"><a name="l08702"></a><span class="lineno"> 8702</span>&#160;                std::string error_msg = <span class="stringliteral">&quot;parse error - unexpected &quot;</span>;</div><div class="line"><a name="l08703"></a><span class="lineno"> 8703</span>&#160;                error_msg += (last_token == lexer::token_type::parse_error ? (<span class="stringliteral">&quot;&#39;&quot;</span> +  m_lexer.get_token() + <span class="stringliteral">&quot;&#39;&quot;</span>) :</div><div class="line"><a name="l08704"></a><span class="lineno"> 8704</span>&#160;                              lexer::token_type_name(last_token));</div><div class="line"><a name="l08705"></a><span class="lineno"> 8705</span>&#160;                <span class="keywordflow">throw</span> std::invalid_argument(error_msg);</div><div class="line"><a name="l08706"></a><span class="lineno"> 8706</span>&#160;            }</div><div class="line"><a name="l08707"></a><span class="lineno"> 8707</span>&#160;        }</div><div class="line"><a name="l08708"></a><span class="lineno"> 8708</span>&#160;</div><div class="line"><a name="l08709"></a><span class="lineno"> 8709</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l08711"></a><span class="lineno"> 8711</span>&#160;        <span class="keywordtype">int</span> depth = 0;</div><div class="line"><a name="l08713"></a><span class="lineno"> 8713</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> callback;</div><div class="line"><a name="l08715"></a><span class="lineno"> 8715</span>&#160;        <span class="keyword">typename</span> lexer::token_type last_token = lexer::token_type::uninitialized;</div><div class="line"><a name="l08717"></a><span class="lineno"> 8717</span>&#160;        lexer m_lexer;</div><div class="line"><a name="l08718"></a><span class="lineno"> 8718</span>&#160;    };</div><div class="line"><a name="l08719"></a><span class="lineno"> 8719</span>&#160;</div><div class="line"><a name="l08720"></a><span class="lineno"> 8720</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l08732"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer.html"> 8732</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a></div><div class="line"><a name="l08733"></a><span class="lineno"> 8733</span>&#160;    {</div><div class="line"><a name="l08735"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer_ada3100cdb8700566051828f1355fa745.html#ada3100cdb8700566051828f1355fa745"> 8735</a></span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span>basic_json;</div><div class="line"><a name="l08736"></a><span class="lineno"> 8736</span>&#160;</div><div class="line"><a name="l08737"></a><span class="lineno"> 8737</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l08760"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html#ae12db117a2742d826465080979d7c835"> 8760</a></span>&#160;        <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html#ae12db117a2742d826465080979d7c835">json_pointer</a>(<span class="keyword">const</span> std::string&amp; s = <span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l08761"></a><span class="lineno"> 8761</span>&#160;            : reference_tokens(split(s))</div><div class="line"><a name="l08762"></a><span class="lineno"> 8762</span>&#160;        {}</div><div class="line"><a name="l08763"></a><span class="lineno"> 8763</span>&#160;</div><div class="line"><a name="l08779"></a><span class="lineno"> 8779</span>&#160;        std::string to_string() <span class="keyword">const</span> noexcept</div><div class="line"><a name="l08780"></a><span class="lineno"> 8780</span>&#160;        {</div><div class="line"><a name="l08781"></a><span class="lineno"> 8781</span>&#160;            std::string result;</div><div class="line"><a name="l08782"></a><span class="lineno"> 8782</span>&#160;</div><div class="line"><a name="l08783"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer_a14fda25789660bdc3f2de652fec35f61.html#a14fda25789660bdc3f2de652fec35f61"> 8783</a></span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l08784"></a><span class="lineno"> 8784</span>&#160;            {</div><div class="line"><a name="l08785"></a><span class="lineno"> 8785</span>&#160;                result += <span class="stringliteral">&quot;/&quot;</span> + escape(reference_token);</div><div class="line"><a name="l08786"></a><span class="lineno"> 8786</span>&#160;            }</div><div class="line"><a name="l08787"></a><span class="lineno"> 8787</span>&#160;</div><div class="line"><a name="l08788"></a><span class="lineno"> 8788</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08789"></a><span class="lineno"> 8789</span>&#160;        }</div><div class="line"><a name="l08790"></a><span class="lineno"> 8790</span>&#160;</div><div class="line"><a name="l08792"></a><span class="lineno"> 8792</span>&#160;        <span class="keyword">operator</span> std::string()<span class="keyword"> const</span></div><div class="line"><a name="l08793"></a><span class="lineno"> 8793</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08794"></a><span class="lineno"> 8794</span>&#160;            <span class="keywordflow">return</span> to_string();</div><div class="line"><a name="l08795"></a><span class="lineno"> 8795</span>&#160;        }</div><div class="line"><a name="l08796"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer_a344b49c70c83ff591be767072c87336e.html#a344b49c70c83ff591be767072c87336e"> 8796</a></span>&#160;</div><div class="line"><a name="l08797"></a><span class="lineno"> 8797</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l08799"></a><span class="lineno"> 8799</span>&#160;        std::string pop_back()</div><div class="line"><a name="l08800"></a><span class="lineno"> 8800</span>&#160;        {</div><div class="line"><a name="l08801"></a><span class="lineno"> 8801</span>&#160;            <span class="keywordflow">if</span> (is_root())</div><div class="line"><a name="l08802"></a><span class="lineno"> 8802</span>&#160;            {</div><div class="line"><a name="l08803"></a><span class="lineno"> 8803</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;JSON pointer has no parent&quot;</span>);</div><div class="line"><a name="l08804"></a><span class="lineno"> 8804</span>&#160;            }</div><div class="line"><a name="l08805"></a><span class="lineno"> 8805</span>&#160;</div><div class="line"><a name="l08806"></a><span class="lineno"> 8806</span>&#160;            <span class="keyword">auto</span> last = reference_tokens.back();</div><div class="line"><a name="l08807"></a><span class="lineno"> 8807</span>&#160;            reference_tokens.pop_back();</div><div class="line"><a name="l08808"></a><span class="lineno"> 8808</span>&#160;            <span class="keywordflow">return</span> last;</div><div class="line"><a name="l08809"></a><span class="lineno"> 8809</span>&#160;        }</div><div class="line"><a name="l08810"></a><span class="lineno"> 8810</span>&#160;</div><div class="line"><a name="l08812"></a><span class="lineno"> 8812</span>&#160;        <span class="keywordtype">bool</span> is_root()<span class="keyword"> const</span></div><div class="line"><a name="l08813"></a><span class="lineno"> 8813</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08814"></a><span class="lineno"> 8814</span>&#160;            <span class="keywordflow">return</span> reference_tokens.empty();</div><div class="line"><a name="l08815"></a><span class="lineno"> 8815</span>&#160;        }</div><div class="line"><a name="l08816"></a><span class="lineno"> 8816</span>&#160;</div><div class="line"><a name="l08817"></a><span class="lineno"> 8817</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> top()<span class="keyword"> const</span></div><div class="line"><a name="l08818"></a><span class="lineno"> 8818</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08819"></a><span class="lineno"> 8819</span>&#160;            <span class="keywordflow">if</span> (is_root())</div><div class="line"><a name="l08820"></a><span class="lineno"> 8820</span>&#160;            {</div><div class="line"><a name="l08821"></a><span class="lineno"> 8821</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;JSON pointer has no parent&quot;</span>);</div><div class="line"><a name="l08822"></a><span class="lineno"> 8822</span>&#160;            }</div><div class="line"><a name="l08823"></a><span class="lineno"> 8823</span>&#160;</div><div class="line"><a name="l08824"></a><span class="lineno"> 8824</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l08825"></a><span class="lineno"> 8825</span>&#160;            result.reference_tokens = {reference_tokens[0]};</div><div class="line"><a name="l08826"></a><span class="lineno"> 8826</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08827"></a><span class="lineno"> 8827</span>&#160;        }</div><div class="line"><a name="l08828"></a><span class="lineno"> 8828</span>&#160;</div><div class="line"><a name="l08832"></a><span class="lineno"> 8832</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> get_and_create(<a class="code" href="classnlohmann_1_1basic__json.html">reference</a> j)<span class="keyword"> const</span></div><div class="line"><a name="l08833"></a><span class="lineno"> 8833</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08834"></a><span class="lineno"> 8834</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a> result = &amp;j;</div><div class="line"><a name="l08835"></a><span class="lineno"> 8835</span>&#160;</div><div class="line"><a name="l08836"></a><span class="lineno"> 8836</span>&#160;            <span class="comment">// in case no reference tokens exist, return a reference to the</span></div><div class="line"><a name="l08837"></a><span class="lineno"> 8837</span>&#160;            <span class="comment">// JSON value j which will be overwritten by a primitive value</span></div><div class="line"><a name="l08838"></a><span class="lineno"> 8838</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l08839"></a><span class="lineno"> 8839</span>&#160;            {</div><div class="line"><a name="l08840"></a><span class="lineno"> 8840</span>&#160;                <span class="keywordflow">switch</span> (result-&gt;m_type)</div><div class="line"><a name="l08841"></a><span class="lineno"> 8841</span>&#160;                {</div><div class="line"><a name="l08842"></a><span class="lineno"> 8842</span>&#160;                    <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l08843"></a><span class="lineno"> 8843</span>&#160;                    {</div><div class="line"><a name="l08844"></a><span class="lineno"> 8844</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;0&quot;</span>)</div><div class="line"><a name="l08845"></a><span class="lineno"> 8845</span>&#160;                        {</div><div class="line"><a name="l08846"></a><span class="lineno"> 8846</span>&#160;                            <span class="comment">// start a new array if reference token is 0</span></div><div class="line"><a name="l08847"></a><span class="lineno"> 8847</span>&#160;                            result = &amp;result-&gt;operator[](0);</div><div class="line"><a name="l08848"></a><span class="lineno"> 8848</span>&#160;                        }</div><div class="line"><a name="l08849"></a><span class="lineno"> 8849</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l08850"></a><span class="lineno"> 8850</span>&#160;                        {</div><div class="line"><a name="l08851"></a><span class="lineno"> 8851</span>&#160;                            <span class="comment">// start a new object otherwise</span></div><div class="line"><a name="l08852"></a><span class="lineno"> 8852</span>&#160;                            result = &amp;result-&gt;operator[](reference_token);</div><div class="line"><a name="l08853"></a><span class="lineno"> 8853</span>&#160;                        }</div><div class="line"><a name="l08854"></a><span class="lineno"> 8854</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08855"></a><span class="lineno"> 8855</span>&#160;                    }</div><div class="line"><a name="l08856"></a><span class="lineno"> 8856</span>&#160;</div><div class="line"><a name="l08857"></a><span class="lineno"> 8857</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l08858"></a><span class="lineno"> 8858</span>&#160;                    {</div><div class="line"><a name="l08859"></a><span class="lineno"> 8859</span>&#160;                        <span class="comment">// create an entry in the object</span></div><div class="line"><a name="l08860"></a><span class="lineno"> 8860</span>&#160;                        result = &amp;result-&gt;operator[](reference_token);</div><div class="line"><a name="l08861"></a><span class="lineno"> 8861</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08862"></a><span class="lineno"> 8862</span>&#160;                    }</div><div class="line"><a name="l08863"></a><span class="lineno"> 8863</span>&#160;</div><div class="line"><a name="l08864"></a><span class="lineno"> 8864</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l08865"></a><span class="lineno"> 8865</span>&#160;                    {</div><div class="line"><a name="l08866"></a><span class="lineno"> 8866</span>&#160;                        <span class="comment">// create an entry in the array</span></div><div class="line"><a name="l08867"></a><span class="lineno"> 8867</span>&#160;                        result = &amp;result-&gt;operator[](<span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a><span class="keyword">&gt;</span>(std::stoi(reference_token)));</div><div class="line"><a name="l08868"></a><span class="lineno"> 8868</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08869"></a><span class="lineno"> 8869</span>&#160;                    }</div><div class="line"><a name="l08870"></a><span class="lineno"> 8870</span>&#160;</div><div class="line"><a name="l08871"></a><span class="lineno"> 8871</span>&#160;                    <span class="comment">/*</span></div><div class="line"><a name="l08872"></a><span class="lineno"> 8872</span>&#160;<span class="comment">                    The following code is only reached if there exists a</span></div><div class="line"><a name="l08873"></a><span class="lineno"> 8873</span>&#160;<span class="comment">                    reference token _and_ the current value is primitive. In</span></div><div class="line"><a name="l08874"></a><span class="lineno"> 8874</span>&#160;<span class="comment">                    this case, we have an error situation, because primitive</span></div><div class="line"><a name="l08875"></a><span class="lineno"> 8875</span>&#160;<span class="comment">                    values may only occur as single value; that is, with an</span></div><div class="line"><a name="l08876"></a><span class="lineno"> 8876</span>&#160;<span class="comment">                    empty list of reference tokens.</span></div><div class="line"><a name="l08877"></a><span class="lineno"> 8877</span>&#160;<span class="comment">                    */</span></div><div class="line"><a name="l08878"></a><span class="lineno"> 8878</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l08879"></a><span class="lineno"> 8879</span>&#160;                    {</div><div class="line"><a name="l08880"></a><span class="lineno"> 8880</span>&#160;                        <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;invalid value to unflatten&quot;</span>);</div><div class="line"><a name="l08881"></a><span class="lineno"> 8881</span>&#160;                    }</div><div class="line"><a name="l08882"></a><span class="lineno"> 8882</span>&#160;                }</div><div class="line"><a name="l08883"></a><span class="lineno"> 8883</span>&#160;            }</div><div class="line"><a name="l08884"></a><span class="lineno"> 8884</span>&#160;</div><div class="line"><a name="l08885"></a><span class="lineno"> 8885</span>&#160;            <span class="keywordflow">return</span> *result;</div><div class="line"><a name="l08886"></a><span class="lineno"> 8886</span>&#160;        }</div><div class="line"><a name="l08887"></a><span class="lineno"> 8887</span>&#160;</div><div class="line"><a name="l08901"></a><span class="lineno"> 8901</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> get_unchecked(<a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a> ptr)<span class="keyword"> const</span></div><div class="line"><a name="l08902"></a><span class="lineno"> 8902</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08903"></a><span class="lineno"> 8903</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l08904"></a><span class="lineno"> 8904</span>&#160;            {</div><div class="line"><a name="l08905"></a><span class="lineno"> 8905</span>&#160;                <span class="keywordflow">switch</span> (ptr-&gt;m_type)</div><div class="line"><a name="l08906"></a><span class="lineno"> 8906</span>&#160;                {</div><div class="line"><a name="l08907"></a><span class="lineno"> 8907</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l08908"></a><span class="lineno"> 8908</span>&#160;                    {</div><div class="line"><a name="l08909"></a><span class="lineno"> 8909</span>&#160;                        <span class="comment">// use unchecked object access</span></div><div class="line"><a name="l08910"></a><span class="lineno"> 8910</span>&#160;                        ptr = &amp;ptr-&gt;operator[](reference_token);</div><div class="line"><a name="l08911"></a><span class="lineno"> 8911</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08912"></a><span class="lineno"> 8912</span>&#160;                    }</div><div class="line"><a name="l08913"></a><span class="lineno"> 8913</span>&#160;</div><div class="line"><a name="l08914"></a><span class="lineno"> 8914</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l08915"></a><span class="lineno"> 8915</span>&#160;                    {</div><div class="line"><a name="l08916"></a><span class="lineno"> 8916</span>&#160;                        <span class="comment">// error condition (cf. RFC 6901, Sect. 4)</span></div><div class="line"><a name="l08917"></a><span class="lineno"> 8917</span>&#160;                        <span class="keywordflow">if</span> (reference_token.size() &gt; 1 and reference_token[0] == <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l08918"></a><span class="lineno"> 8918</span>&#160;                        {</div><div class="line"><a name="l08919"></a><span class="lineno"> 8919</span>&#160;                            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;array index must not begin with &#39;0&#39;&quot;</span>);</div><div class="line"><a name="l08920"></a><span class="lineno"> 8920</span>&#160;                        }</div><div class="line"><a name="l08921"></a><span class="lineno"> 8921</span>&#160;</div><div class="line"><a name="l08922"></a><span class="lineno"> 8922</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l08923"></a><span class="lineno"> 8923</span>&#160;                        {</div><div class="line"><a name="l08924"></a><span class="lineno"> 8924</span>&#160;                            <span class="comment">// explicityly treat &quot;-&quot; as index beyond the end</span></div><div class="line"><a name="l08925"></a><span class="lineno"> 8925</span>&#160;                            ptr = &amp;ptr-&gt;operator[](ptr-&gt;m_value.array-&gt;size());</div><div class="line"><a name="l08926"></a><span class="lineno"> 8926</span>&#160;                        }</div><div class="line"><a name="l08927"></a><span class="lineno"> 8927</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l08928"></a><span class="lineno"> 8928</span>&#160;                        {</div><div class="line"><a name="l08929"></a><span class="lineno"> 8929</span>&#160;                            <span class="comment">// convert array index to number; unchecked access</span></div><div class="line"><a name="l08930"></a><span class="lineno"> 8930</span>&#160;                            ptr = &amp;ptr-&gt;operator[](<span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a><span class="keyword">&gt;</span>(std::stoi(reference_token)));</div><div class="line"><a name="l08931"></a><span class="lineno"> 8931</span>&#160;                        }</div><div class="line"><a name="l08932"></a><span class="lineno"> 8932</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08933"></a><span class="lineno"> 8933</span>&#160;                    }</div><div class="line"><a name="l08934"></a><span class="lineno"> 8934</span>&#160;</div><div class="line"><a name="l08935"></a><span class="lineno"> 8935</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l08936"></a><span class="lineno"> 8936</span>&#160;                    {</div><div class="line"><a name="l08937"></a><span class="lineno"> 8937</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;unresolved reference token &#39;&quot;</span> + reference_token + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l08938"></a><span class="lineno"> 8938</span>&#160;                    }</div><div class="line"><a name="l08939"></a><span class="lineno"> 8939</span>&#160;                }</div><div class="line"><a name="l08940"></a><span class="lineno"> 8940</span>&#160;            }</div><div class="line"><a name="l08941"></a><span class="lineno"> 8941</span>&#160;</div><div class="line"><a name="l08942"></a><span class="lineno"> 8942</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l08943"></a><span class="lineno"> 8943</span>&#160;        }</div><div class="line"><a name="l08944"></a><span class="lineno"> 8944</span>&#160;</div><div class="line"><a name="l08945"></a><span class="lineno"> 8945</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> get_checked(<a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a> ptr)<span class="keyword"> const</span></div><div class="line"><a name="l08946"></a><span class="lineno"> 8946</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08947"></a><span class="lineno"> 8947</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l08948"></a><span class="lineno"> 8948</span>&#160;            {</div><div class="line"><a name="l08949"></a><span class="lineno"> 8949</span>&#160;                <span class="keywordflow">switch</span> (ptr-&gt;m_type)</div><div class="line"><a name="l08950"></a><span class="lineno"> 8950</span>&#160;                {</div><div class="line"><a name="l08951"></a><span class="lineno"> 8951</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l08952"></a><span class="lineno"> 8952</span>&#160;                    {</div><div class="line"><a name="l08953"></a><span class="lineno"> 8953</span>&#160;                        <span class="comment">// note: at performs range check</span></div><div class="line"><a name="l08954"></a><span class="lineno"> 8954</span>&#160;                        ptr = &amp;ptr-&gt;<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(reference_token);</div><div class="line"><a name="l08955"></a><span class="lineno"> 8955</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08956"></a><span class="lineno"> 8956</span>&#160;                    }</div><div class="line"><a name="l08957"></a><span class="lineno"> 8957</span>&#160;</div><div class="line"><a name="l08958"></a><span class="lineno"> 8958</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l08959"></a><span class="lineno"> 8959</span>&#160;                    {</div><div class="line"><a name="l08960"></a><span class="lineno"> 8960</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l08961"></a><span class="lineno"> 8961</span>&#160;                        {</div><div class="line"><a name="l08962"></a><span class="lineno"> 8962</span>&#160;                            <span class="comment">// &quot;-&quot; always fails the range check</span></div><div class="line"><a name="l08963"></a><span class="lineno"> 8963</span>&#160;                            <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &#39;-&#39; (&quot;</span> +</div><div class="line"><a name="l08964"></a><span class="lineno"> 8964</span>&#160;                                                    std::to_string(ptr-&gt;m_value.array-&gt;size()) +</div><div class="line"><a name="l08965"></a><span class="lineno"> 8965</span>&#160;                                                    <span class="stringliteral">&quot;) is out of range&quot;</span>);</div><div class="line"><a name="l08966"></a><span class="lineno"> 8966</span>&#160;                        }</div><div class="line"><a name="l08967"></a><span class="lineno"> 8967</span>&#160;</div><div class="line"><a name="l08968"></a><span class="lineno"> 8968</span>&#160;                        <span class="comment">// error condition (cf. RFC 6901, Sect. 4)</span></div><div class="line"><a name="l08969"></a><span class="lineno"> 8969</span>&#160;                        <span class="keywordflow">if</span> (reference_token.size() &gt; 1 and reference_token[0] == <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l08970"></a><span class="lineno"> 8970</span>&#160;                        {</div><div class="line"><a name="l08971"></a><span class="lineno"> 8971</span>&#160;                            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;array index must not begin with &#39;0&#39;&quot;</span>);</div><div class="line"><a name="l08972"></a><span class="lineno"> 8972</span>&#160;                        }</div><div class="line"><a name="l08973"></a><span class="lineno"> 8973</span>&#160;</div><div class="line"><a name="l08974"></a><span class="lineno"> 8974</span>&#160;                        <span class="comment">// note: at performs range check</span></div><div class="line"><a name="l08975"></a><span class="lineno"> 8975</span>&#160;                        ptr = &amp;ptr-&gt;at(static_cast&lt;size_type&gt;(std::stoi(reference_token)));</div><div class="line"><a name="l08976"></a><span class="lineno"> 8976</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08977"></a><span class="lineno"> 8977</span>&#160;                    }</div><div class="line"><a name="l08978"></a><span class="lineno"> 8978</span>&#160;</div><div class="line"><a name="l08979"></a><span class="lineno"> 8979</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l08980"></a><span class="lineno"> 8980</span>&#160;                    {</div><div class="line"><a name="l08981"></a><span class="lineno"> 8981</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;unresolved reference token &#39;&quot;</span> + reference_token + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l08982"></a><span class="lineno"> 8982</span>&#160;                    }</div><div class="line"><a name="l08983"></a><span class="lineno"> 8983</span>&#160;                }</div><div class="line"><a name="l08984"></a><span class="lineno"> 8984</span>&#160;            }</div><div class="line"><a name="l08985"></a><span class="lineno"> 8985</span>&#160;</div><div class="line"><a name="l08986"></a><span class="lineno"> 8986</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l08987"></a><span class="lineno"> 8987</span>&#160;        }</div><div class="line"><a name="l08988"></a><span class="lineno"> 8988</span>&#160;</div><div class="line"><a name="l08997"></a><span class="lineno"> 8997</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> get_unchecked(<a class="code" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a> ptr)<span class="keyword"> const</span></div><div class="line"><a name="l08998"></a><span class="lineno"> 8998</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08999"></a><span class="lineno"> 8999</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l09000"></a><span class="lineno"> 9000</span>&#160;            {</div><div class="line"><a name="l09001"></a><span class="lineno"> 9001</span>&#160;                <span class="keywordflow">switch</span> (ptr-&gt;m_type)</div><div class="line"><a name="l09002"></a><span class="lineno"> 9002</span>&#160;                {</div><div class="line"><a name="l09003"></a><span class="lineno"> 9003</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09004"></a><span class="lineno"> 9004</span>&#160;                    {</div><div class="line"><a name="l09005"></a><span class="lineno"> 9005</span>&#160;                        <span class="comment">// use unchecked object access</span></div><div class="line"><a name="l09006"></a><span class="lineno"> 9006</span>&#160;                        ptr = &amp;ptr-&gt;operator[](reference_token);</div><div class="line"><a name="l09007"></a><span class="lineno"> 9007</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09008"></a><span class="lineno"> 9008</span>&#160;                    }</div><div class="line"><a name="l09009"></a><span class="lineno"> 9009</span>&#160;</div><div class="line"><a name="l09010"></a><span class="lineno"> 9010</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09011"></a><span class="lineno"> 9011</span>&#160;                    {</div><div class="line"><a name="l09012"></a><span class="lineno"> 9012</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l09013"></a><span class="lineno"> 9013</span>&#160;                        {</div><div class="line"><a name="l09014"></a><span class="lineno"> 9014</span>&#160;                            <span class="comment">// &quot;-&quot; cannot be used for const access</span></div><div class="line"><a name="l09015"></a><span class="lineno"> 9015</span>&#160;                            <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &#39;-&#39; (&quot;</span> +</div><div class="line"><a name="l09016"></a><span class="lineno"> 9016</span>&#160;                                                    std::to_string(ptr-&gt;m_value.array-&gt;size()) +</div><div class="line"><a name="l09017"></a><span class="lineno"> 9017</span>&#160;                                                    <span class="stringliteral">&quot;) is out of range&quot;</span>);</div><div class="line"><a name="l09018"></a><span class="lineno"> 9018</span>&#160;                        }</div><div class="line"><a name="l09019"></a><span class="lineno"> 9019</span>&#160;</div><div class="line"><a name="l09020"></a><span class="lineno"> 9020</span>&#160;                        <span class="comment">// error condition (cf. RFC 6901, Sect. 4)</span></div><div class="line"><a name="l09021"></a><span class="lineno"> 9021</span>&#160;                        <span class="keywordflow">if</span> (reference_token.size() &gt; 1 and reference_token[0] == <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l09022"></a><span class="lineno"> 9022</span>&#160;                        {</div><div class="line"><a name="l09023"></a><span class="lineno"> 9023</span>&#160;                            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;array index must not begin with &#39;0&#39;&quot;</span>);</div><div class="line"><a name="l09024"></a><span class="lineno"> 9024</span>&#160;                        }</div><div class="line"><a name="l09025"></a><span class="lineno"> 9025</span>&#160;</div><div class="line"><a name="l09026"></a><span class="lineno"> 9026</span>&#160;                        <span class="comment">// use unchecked array access</span></div><div class="line"><a name="l09027"></a><span class="lineno"> 9027</span>&#160;                        ptr = &amp;ptr-&gt;operator[](<span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a><span class="keyword">&gt;</span>(std::stoi(reference_token)));</div><div class="line"><a name="l09028"></a><span class="lineno"> 9028</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09029"></a><span class="lineno"> 9029</span>&#160;                    }</div><div class="line"><a name="l09030"></a><span class="lineno"> 9030</span>&#160;</div><div class="line"><a name="l09031"></a><span class="lineno"> 9031</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l09032"></a><span class="lineno"> 9032</span>&#160;                    {</div><div class="line"><a name="l09033"></a><span class="lineno"> 9033</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;unresolved reference token &#39;&quot;</span> + reference_token + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l09034"></a><span class="lineno"> 9034</span>&#160;                    }</div><div class="line"><a name="l09035"></a><span class="lineno"> 9035</span>&#160;                }</div><div class="line"><a name="l09036"></a><span class="lineno"> 9036</span>&#160;            }</div><div class="line"><a name="l09037"></a><span class="lineno"> 9037</span>&#160;</div><div class="line"><a name="l09038"></a><span class="lineno"> 9038</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l09039"></a><span class="lineno"> 9039</span>&#160;        }</div><div class="line"><a name="l09040"></a><span class="lineno"> 9040</span>&#160;</div><div class="line"><a name="l09041"></a><span class="lineno"> 9041</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> get_checked(<a class="code" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a> ptr)<span class="keyword"> const</span></div><div class="line"><a name="l09042"></a><span class="lineno"> 9042</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09043"></a><span class="lineno"> 9043</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l09044"></a><span class="lineno"> 9044</span>&#160;            {</div><div class="line"><a name="l09045"></a><span class="lineno"> 9045</span>&#160;                <span class="keywordflow">switch</span> (ptr-&gt;m_type)</div><div class="line"><a name="l09046"></a><span class="lineno"> 9046</span>&#160;                {</div><div class="line"><a name="l09047"></a><span class="lineno"> 9047</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09048"></a><span class="lineno"> 9048</span>&#160;                    {</div><div class="line"><a name="l09049"></a><span class="lineno"> 9049</span>&#160;                        <span class="comment">// note: at performs range check</span></div><div class="line"><a name="l09050"></a><span class="lineno"> 9050</span>&#160;                        ptr = &amp;ptr-&gt;<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(reference_token);</div><div class="line"><a name="l09051"></a><span class="lineno"> 9051</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09052"></a><span class="lineno"> 9052</span>&#160;                    }</div><div class="line"><a name="l09053"></a><span class="lineno"> 9053</span>&#160;</div><div class="line"><a name="l09054"></a><span class="lineno"> 9054</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09055"></a><span class="lineno"> 9055</span>&#160;                    {</div><div class="line"><a name="l09056"></a><span class="lineno"> 9056</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l09057"></a><span class="lineno"> 9057</span>&#160;                        {</div><div class="line"><a name="l09058"></a><span class="lineno"> 9058</span>&#160;                            <span class="comment">// &quot;-&quot; always fails the range check</span></div><div class="line"><a name="l09059"></a><span class="lineno"> 9059</span>&#160;                            <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &#39;-&#39; (&quot;</span> +</div><div class="line"><a name="l09060"></a><span class="lineno"> 9060</span>&#160;                                                    std::to_string(ptr-&gt;m_value.array-&gt;size()) +</div><div class="line"><a name="l09061"></a><span class="lineno"> 9061</span>&#160;                                                    <span class="stringliteral">&quot;) is out of range&quot;</span>);</div><div class="line"><a name="l09062"></a><span class="lineno"> 9062</span>&#160;                        }</div><div class="line"><a name="l09063"></a><span class="lineno"> 9063</span>&#160;</div><div class="line"><a name="l09064"></a><span class="lineno"> 9064</span>&#160;                        <span class="comment">// error condition (cf. RFC 6901, Sect. 4)</span></div><div class="line"><a name="l09065"></a><span class="lineno"> 9065</span>&#160;                        <span class="keywordflow">if</span> (reference_token.size() &gt; 1 and reference_token[0] == <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l09066"></a><span class="lineno"> 9066</span>&#160;                        {</div><div class="line"><a name="l09067"></a><span class="lineno"> 9067</span>&#160;                            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;array index must not begin with &#39;0&#39;&quot;</span>);</div><div class="line"><a name="l09068"></a><span class="lineno"> 9068</span>&#160;                        }</div><div class="line"><a name="l09069"></a><span class="lineno"> 9069</span>&#160;</div><div class="line"><a name="l09070"></a><span class="lineno"> 9070</span>&#160;                        <span class="comment">// note: at performs range check</span></div><div class="line"><a name="l09071"></a><span class="lineno"> 9071</span>&#160;                        ptr = &amp;ptr-&gt;at(static_cast&lt;size_type&gt;(std::stoi(reference_token)));</div><div class="line"><a name="l09072"></a><span class="lineno"> 9072</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09073"></a><span class="lineno"> 9073</span>&#160;                    }</div><div class="line"><a name="l09074"></a><span class="lineno"> 9074</span>&#160;</div><div class="line"><a name="l09075"></a><span class="lineno"> 9075</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l09076"></a><span class="lineno"> 9076</span>&#160;                    {</div><div class="line"><a name="l09077"></a><span class="lineno"> 9077</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;unresolved reference token &#39;&quot;</span> + reference_token + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l09078"></a><span class="lineno"> 9078</span>&#160;                    }</div><div class="line"><a name="l09079"></a><span class="lineno"> 9079</span>&#160;                }</div><div class="line"><a name="l09080"></a><span class="lineno"> 9080</span>&#160;            }</div><div class="line"><a name="l09081"></a><span class="lineno"> 9081</span>&#160;</div><div class="line"><a name="l09082"></a><span class="lineno"> 9082</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l09083"></a><span class="lineno"> 9083</span>&#160;        }</div><div class="line"><a name="l09084"></a><span class="lineno"> 9084</span>&#160;</div><div class="line"><a name="l09086"></a><span class="lineno"> 9086</span>&#160;        <span class="keyword">static</span> std::vector&lt;std::string&gt; split(std::string reference_string)</div><div class="line"><a name="l09087"></a><span class="lineno"> 9087</span>&#160;        {</div><div class="line"><a name="l09088"></a><span class="lineno"> 9088</span>&#160;            std::vector&lt;std::string&gt; result;</div><div class="line"><a name="l09089"></a><span class="lineno"> 9089</span>&#160;</div><div class="line"><a name="l09090"></a><span class="lineno"> 9090</span>&#160;            <span class="comment">// special case: empty reference string -&gt; no reference tokens</span></div><div class="line"><a name="l09091"></a><span class="lineno"> 9091</span>&#160;            <span class="keywordflow">if</span> (reference_string.empty())</div><div class="line"><a name="l09092"></a><span class="lineno"> 9092</span>&#160;            {</div><div class="line"><a name="l09093"></a><span class="lineno"> 9093</span>&#160;                <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09094"></a><span class="lineno"> 9094</span>&#160;            }</div><div class="line"><a name="l09095"></a><span class="lineno"> 9095</span>&#160;</div><div class="line"><a name="l09096"></a><span class="lineno"> 9096</span>&#160;            <span class="comment">// check if nonempty reference string begins with slash</span></div><div class="line"><a name="l09097"></a><span class="lineno"> 9097</span>&#160;            <span class="keywordflow">if</span> (reference_string[0] != <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l09098"></a><span class="lineno"> 9098</span>&#160;            {</div><div class="line"><a name="l09099"></a><span class="lineno"> 9099</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;JSON pointer must be empty or begin with &#39;/&#39;&quot;</span>);</div><div class="line"><a name="l09100"></a><span class="lineno"> 9100</span>&#160;            }</div><div class="line"><a name="l09101"></a><span class="lineno"> 9101</span>&#160;</div><div class="line"><a name="l09102"></a><span class="lineno"> 9102</span>&#160;            <span class="comment">// extract the reference tokens:</span></div><div class="line"><a name="l09103"></a><span class="lineno"> 9103</span>&#160;            <span class="comment">// - slash: position of the last read slash (or end of string)</span></div><div class="line"><a name="l09104"></a><span class="lineno"> 9104</span>&#160;            <span class="comment">// - start: position after the previous slash</span></div><div class="line"><a name="l09105"></a><span class="lineno"> 9105</span>&#160;            <span class="keywordflow">for</span> (</div><div class="line"><a name="l09106"></a><span class="lineno"> 9106</span>&#160;                <span class="comment">// search for the first slash after the first character</span></div><div class="line"><a name="l09107"></a><span class="lineno"> 9107</span>&#160;                <span class="keywordtype">size_t</span> slash = reference_string.find_first_of(<span class="stringliteral">&quot;/&quot;</span>, 1),</div><div class="line"><a name="l09108"></a><span class="lineno"> 9108</span>&#160;                <span class="comment">// set the beginning of the first reference token</span></div><div class="line"><a name="l09109"></a><span class="lineno"> 9109</span>&#160;                start = 1;</div><div class="line"><a name="l09110"></a><span class="lineno"> 9110</span>&#160;                <span class="comment">// we can stop if start == string::npos+1 = 0</span></div><div class="line"><a name="l09111"></a><span class="lineno"> 9111</span>&#160;                start != 0;</div><div class="line"><a name="l09112"></a><span class="lineno"> 9112</span>&#160;                <span class="comment">// set the beginning of the next reference token</span></div><div class="line"><a name="l09113"></a><span class="lineno"> 9113</span>&#160;                <span class="comment">// (will eventually be 0 if slash == std::string::npos)</span></div><div class="line"><a name="l09114"></a><span class="lineno"> 9114</span>&#160;                start = slash + 1,</div><div class="line"><a name="l09115"></a><span class="lineno"> 9115</span>&#160;                <span class="comment">// find next slash</span></div><div class="line"><a name="l09116"></a><span class="lineno"> 9116</span>&#160;                slash = reference_string.find_first_of(<span class="stringliteral">&quot;/&quot;</span>, start))</div><div class="line"><a name="l09117"></a><span class="lineno"> 9117</span>&#160;            {</div><div class="line"><a name="l09118"></a><span class="lineno"> 9118</span>&#160;                <span class="comment">// use the text between the beginning of the reference token</span></div><div class="line"><a name="l09119"></a><span class="lineno"> 9119</span>&#160;                <span class="comment">// (start) and the last slash (slash).</span></div><div class="line"><a name="l09120"></a><span class="lineno"> 9120</span>&#160;                <span class="keyword">auto</span> reference_token = reference_string.substr(start, slash - start);</div><div class="line"><a name="l09121"></a><span class="lineno"> 9121</span>&#160;</div><div class="line"><a name="l09122"></a><span class="lineno"> 9122</span>&#160;                <span class="comment">// check reference tokens are properly escaped</span></div><div class="line"><a name="l09123"></a><span class="lineno"> 9123</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> pos = reference_token.find_first_of(<span class="stringliteral">&quot;~&quot;</span>);</div><div class="line"><a name="l09124"></a><span class="lineno"> 9124</span>&#160;                        pos != std::string::npos;</div><div class="line"><a name="l09125"></a><span class="lineno"> 9125</span>&#160;                        pos = reference_token.find_first_of(<span class="stringliteral">&quot;~&quot;</span>, pos + 1))</div><div class="line"><a name="l09126"></a><span class="lineno"> 9126</span>&#160;                {</div><div class="line"><a name="l09127"></a><span class="lineno"> 9127</span>&#160;                    assert(reference_token[pos] == <span class="charliteral">&#39;~&#39;</span>);</div><div class="line"><a name="l09128"></a><span class="lineno"> 9128</span>&#160;</div><div class="line"><a name="l09129"></a><span class="lineno"> 9129</span>&#160;                    <span class="comment">// ~ must be followed by 0 or 1</span></div><div class="line"><a name="l09130"></a><span class="lineno"> 9130</span>&#160;                    <span class="keywordflow">if</span> (pos == reference_token.size() - 1 or</div><div class="line"><a name="l09131"></a><span class="lineno"> 9131</span>&#160;                            (reference_token[pos + 1] != <span class="charliteral">&#39;0&#39;</span> and</div><div class="line"><a name="l09132"></a><span class="lineno"> 9132</span>&#160;                             reference_token[pos + 1] != <span class="charliteral">&#39;1&#39;</span>))</div><div class="line"><a name="l09133"></a><span class="lineno"> 9133</span>&#160;                    {</div><div class="line"><a name="l09134"></a><span class="lineno"> 9134</span>&#160;                        <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;escape error: &#39;~&#39; must be followed with &#39;0&#39; or &#39;1&#39;&quot;</span>);</div><div class="line"><a name="l09135"></a><span class="lineno"> 9135</span>&#160;                    }</div><div class="line"><a name="l09136"></a><span class="lineno"> 9136</span>&#160;                }</div><div class="line"><a name="l09137"></a><span class="lineno"> 9137</span>&#160;</div><div class="line"><a name="l09138"></a><span class="lineno"> 9138</span>&#160;                <span class="comment">// finally, store the reference token</span></div><div class="line"><a name="l09139"></a><span class="lineno"> 9139</span>&#160;                unescape(reference_token);</div><div class="line"><a name="l09140"></a><span class="lineno"> 9140</span>&#160;                result.push_back(reference_token);</div><div class="line"><a name="l09141"></a><span class="lineno"> 9141</span>&#160;            }</div><div class="line"><a name="l09142"></a><span class="lineno"> 9142</span>&#160;</div><div class="line"><a name="l09143"></a><span class="lineno"> 9143</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09144"></a><span class="lineno"> 9144</span>&#160;        }</div><div class="line"><a name="l09145"></a><span class="lineno"> 9145</span>&#160;</div><div class="line"><a name="l09146"></a><span class="lineno"> 9146</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l09161"></a><span class="lineno"> 9161</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> replace_substring(std::string&amp; s,</div><div class="line"><a name="l09162"></a><span class="lineno"> 9162</span>&#160;                                      <span class="keyword">const</span> std::string&amp; f,</div><div class="line"><a name="l09163"></a><span class="lineno"> 9163</span>&#160;                                      <span class="keyword">const</span> std::string&amp; t)</div><div class="line"><a name="l09164"></a><span class="lineno"> 9164</span>&#160;        {</div><div class="line"><a name="l09165"></a><span class="lineno"> 9165</span>&#160;            assert(not f.empty());</div><div class="line"><a name="l09166"></a><span class="lineno"> 9166</span>&#160;</div><div class="line"><a name="l09167"></a><span class="lineno"> 9167</span>&#160;            <span class="keywordflow">for</span> (</div><div class="line"><a name="l09168"></a><span class="lineno"> 9168</span>&#160;                <span class="keywordtype">size_t</span> pos = s.find(f);         <span class="comment">// find first occurrence of f</span></div><div class="line"><a name="l09169"></a><span class="lineno"> 9169</span>&#160;                pos != std::string::npos;       <span class="comment">// make sure f was found</span></div><div class="line"><a name="l09170"></a><span class="lineno"> 9170</span>&#160;                s.replace(pos, f.size(), t),    <span class="comment">// replace with t</span></div><div class="line"><a name="l09171"></a><span class="lineno"> 9171</span>&#160;                pos = s.find(f, pos + t.size()) <span class="comment">// find next occurrence of f</span></div><div class="line"><a name="l09172"></a><span class="lineno"> 9172</span>&#160;            );</div><div class="line"><a name="l09173"></a><span class="lineno"> 9173</span>&#160;        }</div><div class="line"><a name="l09174"></a><span class="lineno"> 9174</span>&#160;</div><div class="line"><a name="l09176"></a><span class="lineno"> 9176</span>&#160;        <span class="keyword">static</span> std::string escape(std::string s)</div><div class="line"><a name="l09177"></a><span class="lineno"> 9177</span>&#160;        {</div><div class="line"><a name="l09178"></a><span class="lineno"> 9178</span>&#160;            <span class="comment">// escape &quot;~&quot;&quot; to &quot;~0&quot; and &quot;/&quot; to &quot;~1&quot;</span></div><div class="line"><a name="l09179"></a><span class="lineno"> 9179</span>&#160;            replace_substring(s, <span class="stringliteral">&quot;~&quot;</span>, <span class="stringliteral">&quot;~0&quot;</span>);</div><div class="line"><a name="l09180"></a><span class="lineno"> 9180</span>&#160;            replace_substring(s, <span class="stringliteral">&quot;/&quot;</span>, <span class="stringliteral">&quot;~1&quot;</span>);</div><div class="line"><a name="l09181"></a><span class="lineno"> 9181</span>&#160;            <span class="keywordflow">return</span> s;</div><div class="line"><a name="l09182"></a><span class="lineno"> 9182</span>&#160;        }</div><div class="line"><a name="l09183"></a><span class="lineno"> 9183</span>&#160;</div><div class="line"><a name="l09185"></a><span class="lineno"> 9185</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> unescape(std::string&amp; s)</div><div class="line"><a name="l09186"></a><span class="lineno"> 9186</span>&#160;        {</div><div class="line"><a name="l09187"></a><span class="lineno"> 9187</span>&#160;            <span class="comment">// first transform any occurrence of the sequence &#39;~1&#39; to &#39;/&#39;</span></div><div class="line"><a name="l09188"></a><span class="lineno"> 9188</span>&#160;            replace_substring(s, <span class="stringliteral">&quot;~1&quot;</span>, <span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l09189"></a><span class="lineno"> 9189</span>&#160;            <span class="comment">// then transform any occurrence of the sequence &#39;~0&#39; to &#39;~&#39;</span></div><div class="line"><a name="l09190"></a><span class="lineno"> 9190</span>&#160;            replace_substring(s, <span class="stringliteral">&quot;~0&quot;</span>, <span class="stringliteral">&quot;~&quot;</span>);</div><div class="line"><a name="l09191"></a><span class="lineno"> 9191</span>&#160;        }</div><div class="line"><a name="l09192"></a><span class="lineno"> 9192</span>&#160;</div><div class="line"><a name="l09200"></a><span class="lineno"> 9200</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> flatten(<span class="keyword">const</span> std::string&amp; reference_string,</div><div class="line"><a name="l09201"></a><span class="lineno"> 9201</span>&#160;                            <span class="keyword">const</span> basic_json&amp; value,</div><div class="line"><a name="l09202"></a><span class="lineno"> 9202</span>&#160;                            basic_json&amp; result)</div><div class="line"><a name="l09203"></a><span class="lineno"> 9203</span>&#160;        {</div><div class="line"><a name="l09204"></a><span class="lineno"> 9204</span>&#160;            <span class="keywordflow">switch</span> (value.m_type)</div><div class="line"><a name="l09205"></a><span class="lineno"> 9205</span>&#160;            {</div><div class="line"><a name="l09206"></a><span class="lineno"> 9206</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09207"></a><span class="lineno"> 9207</span>&#160;                {</div><div class="line"><a name="l09208"></a><span class="lineno"> 9208</span>&#160;                    <span class="keywordflow">if</span> (value.m_value.array-&gt;empty())</div><div class="line"><a name="l09209"></a><span class="lineno"> 9209</span>&#160;                    {</div><div class="line"><a name="l09210"></a><span class="lineno"> 9210</span>&#160;                        <span class="comment">// flatten empty array as null</span></div><div class="line"><a name="l09211"></a><span class="lineno"> 9211</span>&#160;                        result[reference_string] = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l09212"></a><span class="lineno"> 9212</span>&#160;                    }</div><div class="line"><a name="l09213"></a><span class="lineno"> 9213</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l09214"></a><span class="lineno"> 9214</span>&#160;                    {</div><div class="line"><a name="l09215"></a><span class="lineno"> 9215</span>&#160;                        <span class="comment">// iterate array and use index as reference string</span></div><div class="line"><a name="l09216"></a><span class="lineno"> 9216</span>&#160;                        <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; value.m_value.array-&gt;size(); ++i)</div><div class="line"><a name="l09217"></a><span class="lineno"> 9217</span>&#160;                        {</div><div class="line"><a name="l09218"></a><span class="lineno"> 9218</span>&#160;                            flatten(reference_string + <span class="stringliteral">&quot;/&quot;</span> + std::to_string(i),</div><div class="line"><a name="l09219"></a><span class="lineno"> 9219</span>&#160;                                    value.m_value.array-&gt;operator[](i), result);</div><div class="line"><a name="l09220"></a><span class="lineno"> 9220</span>&#160;                        }</div><div class="line"><a name="l09221"></a><span class="lineno"> 9221</span>&#160;                    }</div><div class="line"><a name="l09222"></a><span class="lineno"> 9222</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09223"></a><span class="lineno"> 9223</span>&#160;                }</div><div class="line"><a name="l09224"></a><span class="lineno"> 9224</span>&#160;</div><div class="line"><a name="l09225"></a><span class="lineno"> 9225</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09226"></a><span class="lineno"> 9226</span>&#160;                {</div><div class="line"><a name="l09227"></a><span class="lineno"> 9227</span>&#160;                    <span class="keywordflow">if</span> (value.m_value.object-&gt;empty())</div><div class="line"><a name="l09228"></a><span class="lineno"> 9228</span>&#160;                    {</div><div class="line"><a name="l09229"></a><span class="lineno"> 9229</span>&#160;                        <span class="comment">// flatten empty object as null</span></div><div class="line"><a name="l09230"></a><span class="lineno"> 9230</span>&#160;                        result[reference_string] = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l09231"></a><span class="lineno"> 9231</span>&#160;                    }</div><div class="line"><a name="l09232"></a><span class="lineno"> 9232</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l09233"></a><span class="lineno"> 9233</span>&#160;                    {</div><div class="line"><a name="l09234"></a><span class="lineno"> 9234</span>&#160;                        <span class="comment">// iterate object and use keys as reference string</span></div><div class="line"><a name="l09235"></a><span class="lineno"> 9235</span>&#160;                        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; element : *value.m_value.object)</div><div class="line"><a name="l09236"></a><span class="lineno"> 9236</span>&#160;                        {</div><div class="line"><a name="l09237"></a><span class="lineno"> 9237</span>&#160;                            flatten(reference_string + <span class="stringliteral">&quot;/&quot;</span> + escape(element.first),</div><div class="line"><a name="l09238"></a><span class="lineno"> 9238</span>&#160;                                    element.second, result);</div><div class="line"><a name="l09239"></a><span class="lineno"> 9239</span>&#160;                        }</div><div class="line"><a name="l09240"></a><span class="lineno"> 9240</span>&#160;                    }</div><div class="line"><a name="l09241"></a><span class="lineno"> 9241</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09242"></a><span class="lineno"> 9242</span>&#160;                }</div><div class="line"><a name="l09243"></a><span class="lineno"> 9243</span>&#160;</div><div class="line"><a name="l09244"></a><span class="lineno"> 9244</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l09245"></a><span class="lineno"> 9245</span>&#160;                {</div><div class="line"><a name="l09246"></a><span class="lineno"> 9246</span>&#160;                    <span class="comment">// add primitive value with its reference string</span></div><div class="line"><a name="l09247"></a><span class="lineno"> 9247</span>&#160;                    result[reference_string] = value;</div><div class="line"><a name="l09248"></a><span class="lineno"> 9248</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09249"></a><span class="lineno"> 9249</span>&#160;                }</div><div class="line"><a name="l09250"></a><span class="lineno"> 9250</span>&#160;            }</div><div class="line"><a name="l09251"></a><span class="lineno"> 9251</span>&#160;        }</div><div class="line"><a name="l09252"></a><span class="lineno"> 9252</span>&#160;</div><div class="line"><a name="l09258"></a><span class="lineno"> 9258</span>&#160;        <span class="keyword">static</span> basic_json unflatten(<span class="keyword">const</span> basic_json&amp; value)</div><div class="line"><a name="l09259"></a><span class="lineno"> 9259</span>&#160;        {</div><div class="line"><a name="l09260"></a><span class="lineno"> 9260</span>&#160;            <span class="keywordflow">if</span> (not value.<a class="code" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a>())</div><div class="line"><a name="l09261"></a><span class="lineno"> 9261</span>&#160;            {</div><div class="line"><a name="l09262"></a><span class="lineno"> 9262</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;only objects can be unflattened&quot;</span>);</div><div class="line"><a name="l09263"></a><span class="lineno"> 9263</span>&#160;            }</div><div class="line"><a name="l09264"></a><span class="lineno"> 9264</span>&#160;</div><div class="line"><a name="l09265"></a><span class="lineno"> 9265</span>&#160;            basic_json result;</div><div class="line"><a name="l09266"></a><span class="lineno"> 9266</span>&#160;</div><div class="line"><a name="l09267"></a><span class="lineno"> 9267</span>&#160;            <span class="comment">// iterate the JSON object values</span></div><div class="line"><a name="l09268"></a><span class="lineno"> 9268</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; element : *value.m_value.object)</div><div class="line"><a name="l09269"></a><span class="lineno"> 9269</span>&#160;            {</div><div class="line"><a name="l09270"></a><span class="lineno"> 9270</span>&#160;                <span class="keywordflow">if</span> (not element.second.is_primitive())</div><div class="line"><a name="l09271"></a><span class="lineno"> 9271</span>&#160;                {</div><div class="line"><a name="l09272"></a><span class="lineno"> 9272</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;values in object must be primitive&quot;</span>);</div><div class="line"><a name="l09273"></a><span class="lineno"> 9273</span>&#160;                }</div><div class="line"><a name="l09274"></a><span class="lineno"> 9274</span>&#160;</div><div class="line"><a name="l09275"></a><span class="lineno"> 9275</span>&#160;                <span class="comment">// assign value to reference pointed to by JSON pointer; Note</span></div><div class="line"><a name="l09276"></a><span class="lineno"> 9276</span>&#160;                <span class="comment">// that if the JSON pointer is &quot;&quot; (i.e., points to the whole</span></div><div class="line"><a name="l09277"></a><span class="lineno"> 9277</span>&#160;                <span class="comment">// value), function get_and_create returns a reference to</span></div><div class="line"><a name="l09278"></a><span class="lineno"> 9278</span>&#160;                <span class="comment">// result itself. An assignment will then create a primitive</span></div><div class="line"><a name="l09279"></a><span class="lineno"> 9279</span>&#160;                <span class="comment">// value.</span></div><div class="line"><a name="l09280"></a><span class="lineno"> 9280</span>&#160;                <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>(element.first).get_and_create(result) = element.second;</div><div class="line"><a name="l09281"></a><span class="lineno"> 9281</span>&#160;            }</div><div class="line"><a name="l09282"></a><span class="lineno"> 9282</span>&#160;</div><div class="line"><a name="l09283"></a><span class="lineno"> 9283</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09284"></a><span class="lineno"> 9284</span>&#160;        }</div><div class="line"><a name="l09285"></a><span class="lineno"> 9285</span>&#160;</div><div class="line"><a name="l09286"></a><span class="lineno"> 9286</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l09288"></a><span class="lineno"> 9288</span>&#160;        std::vector&lt;std::string&gt; reference_tokens {};</div><div class="line"><a name="l09289"></a><span class="lineno"> 9289</span>&#160;    };</div><div class="line"><a name="l09290"></a><span class="lineno"> 9290</span>&#160;</div><div class="line"><a name="l09292"></a><span class="lineno"> 9292</span>&#160;    <span class="comment">// JSON Pointer support //</span></div><div class="line"><a name="l09294"></a><span class="lineno"> 9294</span>&#160;<span class="comment"></span></div><div class="line"><a name="l09297"></a><span class="lineno"> 9297</span>&#160;</div><div class="line"><a name="l09331"></a><span class="lineno"> 9331</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> operator[](<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr)</div><div class="line"><a name="l09332"></a><span class="lineno"> 9332</span>&#160;    {</div><div class="line"><a name="l09333"></a><span class="lineno"> 9333</span>&#160;        <span class="keywordflow">return</span> ptr.get_unchecked(<span class="keyword">this</span>);</div><div class="line"><a name="l09334"></a><span class="lineno"> 9334</span>&#160;    }</div><div class="line"><a name="l09335"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87"> 9335</a></span>&#160;</div><div class="line"><a name="l09358"></a><span class="lineno"> 9358</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> operator[](<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr)<span class="keyword"> const</span></div><div class="line"><a name="l09359"></a><span class="lineno"> 9359</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09360"></a><span class="lineno"> 9360</span>&#160;        <span class="keywordflow">return</span> ptr.get_unchecked(<span class="keyword">this</span>);</div><div class="line"><a name="l09361"></a><span class="lineno"> 9361</span>&#160;    }</div><div class="line"><a name="l09362"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a"> 9362</a></span>&#160;</div><div class="line"><a name="l09383"></a><span class="lineno"> 9383</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> at(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr)</div><div class="line"><a name="l09384"></a><span class="lineno"> 9384</span>&#160;    {</div><div class="line"><a name="l09385"></a><span class="lineno"> 9385</span>&#160;        <span class="keywordflow">return</span> ptr.get_checked(<span class="keyword">this</span>);</div><div class="line"><a name="l09386"></a><span class="lineno"> 9386</span>&#160;    }</div><div class="line"><a name="l09387"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236"> 9387</a></span>&#160;</div><div class="line"><a name="l09408"></a><span class="lineno"> 9408</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> at(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr)<span class="keyword"> const</span></div><div class="line"><a name="l09409"></a><span class="lineno"> 9409</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09410"></a><span class="lineno"> 9410</span>&#160;        <span class="keywordflow">return</span> ptr.get_checked(<span class="keyword">this</span>);</div><div class="line"><a name="l09411"></a><span class="lineno"> 9411</span>&#160;    }</div><div class="line"><a name="l09412"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html#a0d46dd5ef4992fb80f9f0d9f56f16eae"> 9412</a></span>&#160;</div><div class="line"><a name="l09435"></a><span class="lineno"> 9435</span>&#160;    basic_json flatten()<span class="keyword"> const</span></div><div class="line"><a name="l09436"></a><span class="lineno"> 9436</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09437"></a><span class="lineno"> 9437</span>&#160;        basic_json result(value_t::object);</div><div class="line"><a name="l09438"></a><span class="lineno"> 9438</span>&#160;        json_pointer::flatten(<span class="stringliteral">&quot;&quot;</span>, *<span class="keyword">this</span>, result);</div><div class="line"><a name="l09439"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e"> 9439</a></span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09440"></a><span class="lineno"> 9440</span>&#160;    }</div><div class="line"><a name="l09441"></a><span class="lineno"> 9441</span>&#160;</div><div class="line"><a name="l09469"></a><span class="lineno"> 9469</span>&#160;    basic_json unflatten()<span class="keyword"> const</span></div><div class="line"><a name="l09470"></a><span class="lineno"> 9470</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09471"></a><span class="lineno"> 9471</span>&#160;        <span class="keywordflow">return</span> json_pointer::unflatten(*<span class="keyword">this</span>);</div><div class="line"><a name="l09472"></a><span class="lineno"> 9472</span>&#160;    }</div><div class="line"><a name="l09473"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776"> 9473</a></span>&#160;</div><div class="line"><a name="l09475"></a><span class="lineno"> 9475</span>&#160;</div><div class="line"><a name="l09477"></a><span class="lineno"> 9477</span>&#160;    <span class="comment">// JSON Patch functions //</span></div><div class="line"><a name="l09479"></a><span class="lineno"> 9479</span>&#160;<span class="comment"></span></div><div class="line"><a name="l09482"></a><span class="lineno"> 9482</span>&#160;</div><div class="line"><a name="l09519"></a><span class="lineno"> 9519</span>&#160;    basic_json patch(<span class="keyword">const</span> basic_json&amp; json_patch)<span class="keyword"> const</span></div><div class="line"><a name="l09520"></a><span class="lineno"> 9520</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09521"></a><span class="lineno"> 9521</span>&#160;        <span class="comment">// make a working copy to apply the patch to</span></div><div class="line"><a name="l09522"></a><span class="lineno"> 9522</span>&#160;        basic_json result = *<span class="keyword">this</span>;</div><div class="line"><a name="l09523"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d"> 9523</a></span>&#160;</div><div class="line"><a name="l09524"></a><span class="lineno"> 9524</span>&#160;        <span class="comment">// the valid JSON Patch operations</span></div><div class="line"><a name="l09525"></a><span class="lineno"> 9525</span>&#160;        <span class="keyword">enum class</span> patch_operations {add, <span class="keyword">remove</span>, replace, move, copy, test, invalid};</div><div class="line"><a name="l09526"></a><span class="lineno"> 9526</span>&#160;</div><div class="line"><a name="l09527"></a><span class="lineno"> 9527</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> get_op = [](<span class="keyword">const</span> std::string op)</div><div class="line"><a name="l09528"></a><span class="lineno"> 9528</span>&#160;        {</div><div class="line"><a name="l09529"></a><span class="lineno"> 9529</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;add&quot;</span>)</div><div class="line"><a name="l09530"></a><span class="lineno"> 9530</span>&#160;            {</div><div class="line"><a name="l09531"></a><span class="lineno"> 9531</span>&#160;                <span class="keywordflow">return</span> patch_operations::add;</div><div class="line"><a name="l09532"></a><span class="lineno"> 9532</span>&#160;            }</div><div class="line"><a name="l09533"></a><span class="lineno"> 9533</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;remove&quot;</span>)</div><div class="line"><a name="l09534"></a><span class="lineno"> 9534</span>&#160;            {</div><div class="line"><a name="l09535"></a><span class="lineno"> 9535</span>&#160;                <span class="keywordflow">return</span> patch_operations::remove;</div><div class="line"><a name="l09536"></a><span class="lineno"> 9536</span>&#160;            }</div><div class="line"><a name="l09537"></a><span class="lineno"> 9537</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;replace&quot;</span>)</div><div class="line"><a name="l09538"></a><span class="lineno"> 9538</span>&#160;            {</div><div class="line"><a name="l09539"></a><span class="lineno"> 9539</span>&#160;                <span class="keywordflow">return</span> patch_operations::replace;</div><div class="line"><a name="l09540"></a><span class="lineno"> 9540</span>&#160;            }</div><div class="line"><a name="l09541"></a><span class="lineno"> 9541</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;move&quot;</span>)</div><div class="line"><a name="l09542"></a><span class="lineno"> 9542</span>&#160;            {</div><div class="line"><a name="l09543"></a><span class="lineno"> 9543</span>&#160;                <span class="keywordflow">return</span> patch_operations::move;</div><div class="line"><a name="l09544"></a><span class="lineno"> 9544</span>&#160;            }</div><div class="line"><a name="l09545"></a><span class="lineno"> 9545</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;copy&quot;</span>)</div><div class="line"><a name="l09546"></a><span class="lineno"> 9546</span>&#160;            {</div><div class="line"><a name="l09547"></a><span class="lineno"> 9547</span>&#160;                <span class="keywordflow">return</span> patch_operations::copy;</div><div class="line"><a name="l09548"></a><span class="lineno"> 9548</span>&#160;            }</div><div class="line"><a name="l09549"></a><span class="lineno"> 9549</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;test&quot;</span>)</div><div class="line"><a name="l09550"></a><span class="lineno"> 9550</span>&#160;            {</div><div class="line"><a name="l09551"></a><span class="lineno"> 9551</span>&#160;                <span class="keywordflow">return</span> patch_operations::test;</div><div class="line"><a name="l09552"></a><span class="lineno"> 9552</span>&#160;            }</div><div class="line"><a name="l09553"></a><span class="lineno"> 9553</span>&#160;</div><div class="line"><a name="l09554"></a><span class="lineno"> 9554</span>&#160;            <span class="keywordflow">return</span> patch_operations::invalid;</div><div class="line"><a name="l09555"></a><span class="lineno"> 9555</span>&#160;        };</div><div class="line"><a name="l09556"></a><span class="lineno"> 9556</span>&#160;</div><div class="line"><a name="l09557"></a><span class="lineno"> 9557</span>&#160;        <span class="comment">// wrapper for &quot;add&quot; operation; add value at ptr</span></div><div class="line"><a name="l09558"></a><span class="lineno"> 9558</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> operation_add = [&amp;result](<a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> &amp; ptr, basic_json val)</div><div class="line"><a name="l09559"></a><span class="lineno"> 9559</span>&#160;        {</div><div class="line"><a name="l09560"></a><span class="lineno"> 9560</span>&#160;            <span class="comment">// adding to the root of the target document means replacing it</span></div><div class="line"><a name="l09561"></a><span class="lineno"> 9561</span>&#160;            <span class="keywordflow">if</span> (ptr.is_root())</div><div class="line"><a name="l09562"></a><span class="lineno"> 9562</span>&#160;            {</div><div class="line"><a name="l09563"></a><span class="lineno"> 9563</span>&#160;                result = val;</div><div class="line"><a name="l09564"></a><span class="lineno"> 9564</span>&#160;            }</div><div class="line"><a name="l09565"></a><span class="lineno"> 9565</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l09566"></a><span class="lineno"> 9566</span>&#160;            {</div><div class="line"><a name="l09567"></a><span class="lineno"> 9567</span>&#160;                <span class="comment">// make sure the top element of the pointer exists</span></div><div class="line"><a name="l09568"></a><span class="lineno"> 9568</span>&#160;                <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> top_pointer = ptr.top();</div><div class="line"><a name="l09569"></a><span class="lineno"> 9569</span>&#160;                <span class="keywordflow">if</span> (top_pointer != ptr)</div><div class="line"><a name="l09570"></a><span class="lineno"> 9570</span>&#160;                {</div><div class="line"><a name="l09571"></a><span class="lineno"> 9571</span>&#160;                    basic_json&amp; x = result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(top_pointer);</div><div class="line"><a name="l09572"></a><span class="lineno"> 9572</span>&#160;                }</div><div class="line"><a name="l09573"></a><span class="lineno"> 9573</span>&#160;</div><div class="line"><a name="l09574"></a><span class="lineno"> 9574</span>&#160;                <span class="comment">// get reference to parent of JSON pointer ptr</span></div><div class="line"><a name="l09575"></a><span class="lineno"> 9575</span>&#160;                <span class="keyword">const</span> <span class="keyword">auto</span> last_path = ptr.pop_back();</div><div class="line"><a name="l09576"></a><span class="lineno"> 9576</span>&#160;                basic_json&amp; parent = result[ptr];</div><div class="line"><a name="l09577"></a><span class="lineno"> 9577</span>&#160;</div><div class="line"><a name="l09578"></a><span class="lineno"> 9578</span>&#160;                <span class="keywordflow">switch</span> (parent.m_type)</div><div class="line"><a name="l09579"></a><span class="lineno"> 9579</span>&#160;                {</div><div class="line"><a name="l09580"></a><span class="lineno"> 9580</span>&#160;                    <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l09581"></a><span class="lineno"> 9581</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09582"></a><span class="lineno"> 9582</span>&#160;                    {</div><div class="line"><a name="l09583"></a><span class="lineno"> 9583</span>&#160;                        <span class="comment">// use operator[] to add value</span></div><div class="line"><a name="l09584"></a><span class="lineno"> 9584</span>&#160;                        parent[last_path] = val;</div><div class="line"><a name="l09585"></a><span class="lineno"> 9585</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09586"></a><span class="lineno"> 9586</span>&#160;                    }</div><div class="line"><a name="l09587"></a><span class="lineno"> 9587</span>&#160;</div><div class="line"><a name="l09588"></a><span class="lineno"> 9588</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09589"></a><span class="lineno"> 9589</span>&#160;                    {</div><div class="line"><a name="l09590"></a><span class="lineno"> 9590</span>&#160;                        <span class="keywordflow">if</span> (last_path == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l09591"></a><span class="lineno"> 9591</span>&#160;                        {</div><div class="line"><a name="l09592"></a><span class="lineno"> 9592</span>&#160;                            <span class="comment">// special case: append to back</span></div><div class="line"><a name="l09593"></a><span class="lineno"> 9593</span>&#160;                            parent.<a class="code" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a>(val);</div><div class="line"><a name="l09594"></a><span class="lineno"> 9594</span>&#160;                        }</div><div class="line"><a name="l09595"></a><span class="lineno"> 9595</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l09596"></a><span class="lineno"> 9596</span>&#160;                        {</div><div class="line"><a name="l09597"></a><span class="lineno"> 9597</span>&#160;                            <span class="keyword">const</span> <span class="keyword">auto</span> idx = std::stoi(last_path);</div><div class="line"><a name="l09598"></a><span class="lineno"> 9598</span>&#160;                            <span class="keywordflow">if</span> (static_cast&lt;size_type&gt;(idx) &gt; parent.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>())</div><div class="line"><a name="l09599"></a><span class="lineno"> 9599</span>&#160;                            {</div><div class="line"><a name="l09600"></a><span class="lineno"> 9600</span>&#160;                                <span class="comment">// avoid undefined behavior</span></div><div class="line"><a name="l09601"></a><span class="lineno"> 9601</span>&#160;                                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &quot;</span> + std::to_string(idx) + <span class="stringliteral">&quot; is out of range&quot;</span>);</div><div class="line"><a name="l09602"></a><span class="lineno"> 9602</span>&#160;                            }</div><div class="line"><a name="l09603"></a><span class="lineno"> 9603</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l09604"></a><span class="lineno"> 9604</span>&#160;                            {</div><div class="line"><a name="l09605"></a><span class="lineno"> 9605</span>&#160;                                <span class="comment">// default case: insert add offset</span></div><div class="line"><a name="l09606"></a><span class="lineno"> 9606</span>&#160;                                parent.<a class="code" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a>(parent.<a class="code" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a>() + <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a><span class="keyword">&gt;</span>(idx), val);</div><div class="line"><a name="l09607"></a><span class="lineno"> 9607</span>&#160;                            }</div><div class="line"><a name="l09608"></a><span class="lineno"> 9608</span>&#160;                        }</div><div class="line"><a name="l09609"></a><span class="lineno"> 9609</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09610"></a><span class="lineno"> 9610</span>&#160;                    }</div><div class="line"><a name="l09611"></a><span class="lineno"> 9611</span>&#160;</div><div class="line"><a name="l09612"></a><span class="lineno"> 9612</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l09613"></a><span class="lineno"> 9613</span>&#160;                    {</div><div class="line"><a name="l09614"></a><span class="lineno"> 9614</span>&#160;                        <span class="comment">// if there exists a parent it cannot be primitive</span></div><div class="line"><a name="l09615"></a><span class="lineno"> 9615</span>&#160;                        assert(<span class="keyword">false</span>);  <span class="comment">// LCOV_EXCL_LINE</span></div><div class="line"><a name="l09616"></a><span class="lineno"> 9616</span>&#160;                    }</div><div class="line"><a name="l09617"></a><span class="lineno"> 9617</span>&#160;                }</div><div class="line"><a name="l09618"></a><span class="lineno"> 9618</span>&#160;            }</div><div class="line"><a name="l09619"></a><span class="lineno"> 9619</span>&#160;        };</div><div class="line"><a name="l09620"></a><span class="lineno"> 9620</span>&#160;</div><div class="line"><a name="l09621"></a><span class="lineno"> 9621</span>&#160;        <span class="comment">// wrapper for &quot;remove&quot; operation; remove value at ptr</span></div><div class="line"><a name="l09622"></a><span class="lineno"> 9622</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> operation_remove = [&amp;result](<a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> &amp; ptr)</div><div class="line"><a name="l09623"></a><span class="lineno"> 9623</span>&#160;        {</div><div class="line"><a name="l09624"></a><span class="lineno"> 9624</span>&#160;            <span class="comment">// get reference to parent of JSON pointer ptr</span></div><div class="line"><a name="l09625"></a><span class="lineno"> 9625</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> last_path = ptr.pop_back();</div><div class="line"><a name="l09626"></a><span class="lineno"> 9626</span>&#160;            basic_json&amp; parent = result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(ptr);</div><div class="line"><a name="l09627"></a><span class="lineno"> 9627</span>&#160;</div><div class="line"><a name="l09628"></a><span class="lineno"> 9628</span>&#160;            <span class="comment">// remove child</span></div><div class="line"><a name="l09629"></a><span class="lineno"> 9629</span>&#160;            <span class="keywordflow">if</span> (parent.<a class="code" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a>())</div><div class="line"><a name="l09630"></a><span class="lineno"> 9630</span>&#160;            {</div><div class="line"><a name="l09631"></a><span class="lineno"> 9631</span>&#160;                <span class="comment">// perform range check</span></div><div class="line"><a name="l09632"></a><span class="lineno"> 9632</span>&#160;                <span class="keyword">auto</span> it = parent.<a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(last_path);</div><div class="line"><a name="l09633"></a><span class="lineno"> 9633</span>&#160;                <span class="keywordflow">if</span> (it != parent.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>())</div><div class="line"><a name="l09634"></a><span class="lineno"> 9634</span>&#160;                {</div><div class="line"><a name="l09635"></a><span class="lineno"> 9635</span>&#160;                    parent.<a class="code" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a>(it);</div><div class="line"><a name="l09636"></a><span class="lineno"> 9636</span>&#160;                }</div><div class="line"><a name="l09637"></a><span class="lineno"> 9637</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l09638"></a><span class="lineno"> 9638</span>&#160;                {</div><div class="line"><a name="l09639"></a><span class="lineno"> 9639</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;key &#39;&quot;</span> + last_path + <span class="stringliteral">&quot;&#39; not found&quot;</span>);</div><div class="line"><a name="l09640"></a><span class="lineno"> 9640</span>&#160;                }</div><div class="line"><a name="l09641"></a><span class="lineno"> 9641</span>&#160;            }</div><div class="line"><a name="l09642"></a><span class="lineno"> 9642</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (parent.<a class="code" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a>())</div><div class="line"><a name="l09643"></a><span class="lineno"> 9643</span>&#160;            {</div><div class="line"><a name="l09644"></a><span class="lineno"> 9644</span>&#160;                <span class="comment">// note erase performs range check</span></div><div class="line"><a name="l09645"></a><span class="lineno"> 9645</span>&#160;                parent.<a class="code" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a>(static_cast&lt;size_type&gt;(std::stoi(last_path)));</div><div class="line"><a name="l09646"></a><span class="lineno"> 9646</span>&#160;            }</div><div class="line"><a name="l09647"></a><span class="lineno"> 9647</span>&#160;        };</div><div class="line"><a name="l09648"></a><span class="lineno"> 9648</span>&#160;</div><div class="line"><a name="l09649"></a><span class="lineno"> 9649</span>&#160;        <span class="comment">// type check</span></div><div class="line"><a name="l09650"></a><span class="lineno"> 9650</span>&#160;        <span class="keywordflow">if</span> (not json_patch.<a class="code" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a>())</div><div class="line"><a name="l09651"></a><span class="lineno"> 9651</span>&#160;        {</div><div class="line"><a name="l09652"></a><span class="lineno"> 9652</span>&#160;            <span class="comment">// a JSON patch must be an array of objects</span></div><div class="line"><a name="l09653"></a><span class="lineno"> 9653</span>&#160;            <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;JSON patch must be an array of objects&quot;</span>);</div><div class="line"><a name="l09654"></a><span class="lineno"> 9654</span>&#160;        }</div><div class="line"><a name="l09655"></a><span class="lineno"> 9655</span>&#160;</div><div class="line"><a name="l09656"></a><span class="lineno"> 9656</span>&#160;        <span class="comment">// iterate and apply th eoperations</span></div><div class="line"><a name="l09657"></a><span class="lineno"> 9657</span>&#160;        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; val : json_patch)</div><div class="line"><a name="l09658"></a><span class="lineno"> 9658</span>&#160;        {</div><div class="line"><a name="l09659"></a><span class="lineno"> 9659</span>&#160;            <span class="comment">// wrapper to get a value for an operation</span></div><div class="line"><a name="l09660"></a><span class="lineno"> 9660</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> get_value = [&amp;val](<span class="keyword">const</span> std::string &amp; op,</div><div class="line"><a name="l09661"></a><span class="lineno"> 9661</span>&#160;                                          <span class="keyword">const</span> std::string &amp; member,</div><div class="line"><a name="l09662"></a><span class="lineno"> 9662</span>&#160;                                          <span class="keywordtype">bool</span> string_type) -&gt; basic_json&amp;</div><div class="line"><a name="l09663"></a><span class="lineno"> 9663</span>&#160;            {</div><div class="line"><a name="l09664"></a><span class="lineno"> 9664</span>&#160;                <span class="comment">// find value</span></div><div class="line"><a name="l09665"></a><span class="lineno"> 9665</span>&#160;                <span class="keyword">auto</span> it = val.m_value.object-&gt;find(member);</div><div class="line"><a name="l09666"></a><span class="lineno"> 9666</span>&#160;</div><div class="line"><a name="l09667"></a><span class="lineno"> 9667</span>&#160;                <span class="comment">// context-sensitive error message</span></div><div class="line"><a name="l09668"></a><span class="lineno"> 9668</span>&#160;                <span class="keyword">const</span> <span class="keyword">auto</span> error_msg = (op == <span class="stringliteral">&quot;op&quot;</span>) ? <span class="stringliteral">&quot;operation&quot;</span> : <span class="stringliteral">&quot;operation &#39;&quot;</span> + op + <span class="stringliteral">&quot;&#39;&quot;</span>;</div><div class="line"><a name="l09669"></a><span class="lineno"> 9669</span>&#160;</div><div class="line"><a name="l09670"></a><span class="lineno"> 9670</span>&#160;                <span class="comment">// check if desired value is present</span></div><div class="line"><a name="l09671"></a><span class="lineno"> 9671</span>&#160;                <span class="keywordflow">if</span> (it == val.m_value.object-&gt;end())</div><div class="line"><a name="l09672"></a><span class="lineno"> 9672</span>&#160;                {</div><div class="line"><a name="l09673"></a><span class="lineno"> 9673</span>&#160;                    <span class="keywordflow">throw</span> std::invalid_argument(error_msg + <span class="stringliteral">&quot; must have member &#39;&quot;</span> + member + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l09674"></a><span class="lineno"> 9674</span>&#160;                }</div><div class="line"><a name="l09675"></a><span class="lineno"> 9675</span>&#160;</div><div class="line"><a name="l09676"></a><span class="lineno"> 9676</span>&#160;                <span class="comment">// check if result is of type string</span></div><div class="line"><a name="l09677"></a><span class="lineno"> 9677</span>&#160;                <span class="keywordflow">if</span> (string_type and not it-&gt;second.is_string())</div><div class="line"><a name="l09678"></a><span class="lineno"> 9678</span>&#160;                {</div><div class="line"><a name="l09679"></a><span class="lineno"> 9679</span>&#160;                    <span class="keywordflow">throw</span> std::invalid_argument(error_msg + <span class="stringliteral">&quot; must have string member &#39;&quot;</span> + member + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l09680"></a><span class="lineno"> 9680</span>&#160;                }</div><div class="line"><a name="l09681"></a><span class="lineno"> 9681</span>&#160;</div><div class="line"><a name="l09682"></a><span class="lineno"> 9682</span>&#160;                <span class="comment">// no error: return value</span></div><div class="line"><a name="l09683"></a><span class="lineno"> 9683</span>&#160;                <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l09684"></a><span class="lineno"> 9684</span>&#160;            };</div><div class="line"><a name="l09685"></a><span class="lineno"> 9685</span>&#160;</div><div class="line"><a name="l09686"></a><span class="lineno"> 9686</span>&#160;            <span class="comment">// type check</span></div><div class="line"><a name="l09687"></a><span class="lineno"> 9687</span>&#160;            <span class="keywordflow">if</span> (not val.is_object())</div><div class="line"><a name="l09688"></a><span class="lineno"> 9688</span>&#160;            {</div><div class="line"><a name="l09689"></a><span class="lineno"> 9689</span>&#160;                <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;JSON patch must be an array of objects&quot;</span>);</div><div class="line"><a name="l09690"></a><span class="lineno"> 9690</span>&#160;            }</div><div class="line"><a name="l09691"></a><span class="lineno"> 9691</span>&#160;</div><div class="line"><a name="l09692"></a><span class="lineno"> 9692</span>&#160;            <span class="comment">// collect mandatory members</span></div><div class="line"><a name="l09693"></a><span class="lineno"> 9693</span>&#160;            <span class="keyword">const</span> std::string op = get_value(<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;op&quot;</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l09694"></a><span class="lineno"> 9694</span>&#160;            <span class="keyword">const</span> std::string path = get_value(op, <span class="stringliteral">&quot;path&quot;</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l09695"></a><span class="lineno"> 9695</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> ptr(path);</div><div class="line"><a name="l09696"></a><span class="lineno"> 9696</span>&#160;</div><div class="line"><a name="l09697"></a><span class="lineno"> 9697</span>&#160;            <span class="keywordflow">switch</span> (get_op(op))</div><div class="line"><a name="l09698"></a><span class="lineno"> 9698</span>&#160;            {</div><div class="line"><a name="l09699"></a><span class="lineno"> 9699</span>&#160;                <span class="keywordflow">case</span> patch_operations::add:</div><div class="line"><a name="l09700"></a><span class="lineno"> 9700</span>&#160;                {</div><div class="line"><a name="l09701"></a><span class="lineno"> 9701</span>&#160;                    operation_add(ptr, get_value(<span class="stringliteral">&quot;add&quot;</span>, <span class="stringliteral">&quot;value&quot;</span>, <span class="keyword">false</span>));</div><div class="line"><a name="l09702"></a><span class="lineno"> 9702</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09703"></a><span class="lineno"> 9703</span>&#160;                }</div><div class="line"><a name="l09704"></a><span class="lineno"> 9704</span>&#160;</div><div class="line"><a name="l09705"></a><span class="lineno"> 9705</span>&#160;                <span class="keywordflow">case</span> patch_operations::remove:</div><div class="line"><a name="l09706"></a><span class="lineno"> 9706</span>&#160;                {</div><div class="line"><a name="l09707"></a><span class="lineno"> 9707</span>&#160;                    operation_remove(ptr);</div><div class="line"><a name="l09708"></a><span class="lineno"> 9708</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09709"></a><span class="lineno"> 9709</span>&#160;                }</div><div class="line"><a name="l09710"></a><span class="lineno"> 9710</span>&#160;</div><div class="line"><a name="l09711"></a><span class="lineno"> 9711</span>&#160;                <span class="keywordflow">case</span> patch_operations::replace:</div><div class="line"><a name="l09712"></a><span class="lineno"> 9712</span>&#160;                {</div><div class="line"><a name="l09713"></a><span class="lineno"> 9713</span>&#160;                    <span class="comment">// the &quot;path&quot; location must exist - use at()</span></div><div class="line"><a name="l09714"></a><span class="lineno"> 9714</span>&#160;                    result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(ptr) = get_value(<span class="stringliteral">&quot;replace&quot;</span>, <span class="stringliteral">&quot;value&quot;</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l09715"></a><span class="lineno"> 9715</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09716"></a><span class="lineno"> 9716</span>&#160;                }</div><div class="line"><a name="l09717"></a><span class="lineno"> 9717</span>&#160;</div><div class="line"><a name="l09718"></a><span class="lineno"> 9718</span>&#160;                <span class="keywordflow">case</span> patch_operations::move:</div><div class="line"><a name="l09719"></a><span class="lineno"> 9719</span>&#160;                {</div><div class="line"><a name="l09720"></a><span class="lineno"> 9720</span>&#160;                    <span class="keyword">const</span> std::string from_path = get_value(<span class="stringliteral">&quot;move&quot;</span>, <span class="stringliteral">&quot;from&quot;</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l09721"></a><span class="lineno"> 9721</span>&#160;                    <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> from_ptr(from_path);</div><div class="line"><a name="l09722"></a><span class="lineno"> 9722</span>&#160;</div><div class="line"><a name="l09723"></a><span class="lineno"> 9723</span>&#160;                    <span class="comment">// the &quot;from&quot; location must exist - use at()</span></div><div class="line"><a name="l09724"></a><span class="lineno"> 9724</span>&#160;                    basic_json v = result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(from_ptr);</div><div class="line"><a name="l09725"></a><span class="lineno"> 9725</span>&#160;</div><div class="line"><a name="l09726"></a><span class="lineno"> 9726</span>&#160;                    <span class="comment">// The move operation is functionally identical to a</span></div><div class="line"><a name="l09727"></a><span class="lineno"> 9727</span>&#160;                    <span class="comment">// &quot;remove&quot; operation on the &quot;from&quot; location, followed</span></div><div class="line"><a name="l09728"></a><span class="lineno"> 9728</span>&#160;                    <span class="comment">// immediately by an &quot;add&quot; operation at the target</span></div><div class="line"><a name="l09729"></a><span class="lineno"> 9729</span>&#160;                    <span class="comment">// location with the value that was just removed.</span></div><div class="line"><a name="l09730"></a><span class="lineno"> 9730</span>&#160;                    operation_remove(from_ptr);</div><div class="line"><a name="l09731"></a><span class="lineno"> 9731</span>&#160;                    operation_add(ptr, v);</div><div class="line"><a name="l09732"></a><span class="lineno"> 9732</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09733"></a><span class="lineno"> 9733</span>&#160;                }</div><div class="line"><a name="l09734"></a><span class="lineno"> 9734</span>&#160;</div><div class="line"><a name="l09735"></a><span class="lineno"> 9735</span>&#160;                <span class="keywordflow">case</span> patch_operations::copy:</div><div class="line"><a name="l09736"></a><span class="lineno"> 9736</span>&#160;                {</div><div class="line"><a name="l09737"></a><span class="lineno"> 9737</span>&#160;                    <span class="keyword">const</span> std::string from_path = get_value(<span class="stringliteral">&quot;copy&quot;</span>, <span class="stringliteral">&quot;from&quot;</span>, <span class="keyword">true</span>);;</div><div class="line"><a name="l09738"></a><span class="lineno"> 9738</span>&#160;                    <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> from_ptr(from_path);</div><div class="line"><a name="l09739"></a><span class="lineno"> 9739</span>&#160;</div><div class="line"><a name="l09740"></a><span class="lineno"> 9740</span>&#160;                    <span class="comment">// the &quot;from&quot; location must exist - use at()</span></div><div class="line"><a name="l09741"></a><span class="lineno"> 9741</span>&#160;                    result[ptr] = result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(from_ptr);</div><div class="line"><a name="l09742"></a><span class="lineno"> 9742</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09743"></a><span class="lineno"> 9743</span>&#160;                }</div><div class="line"><a name="l09744"></a><span class="lineno"> 9744</span>&#160;</div><div class="line"><a name="l09745"></a><span class="lineno"> 9745</span>&#160;                <span class="keywordflow">case</span> patch_operations::test:</div><div class="line"><a name="l09746"></a><span class="lineno"> 9746</span>&#160;                {</div><div class="line"><a name="l09747"></a><span class="lineno"> 9747</span>&#160;                    <span class="keywordtype">bool</span> success = <span class="keyword">false</span>;</div><div class="line"><a name="l09748"></a><span class="lineno"> 9748</span>&#160;                    <span class="keywordflow">try</span></div><div class="line"><a name="l09749"></a><span class="lineno"> 9749</span>&#160;                    {</div><div class="line"><a name="l09750"></a><span class="lineno"> 9750</span>&#160;                        <span class="comment">// check if &quot;value&quot; matches the one at &quot;path&quot;</span></div><div class="line"><a name="l09751"></a><span class="lineno"> 9751</span>&#160;                        <span class="comment">// the &quot;path&quot; location must exist - use at()</span></div><div class="line"><a name="l09752"></a><span class="lineno"> 9752</span>&#160;                        success = (result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(ptr) == get_value(<span class="stringliteral">&quot;test&quot;</span>, <span class="stringliteral">&quot;value&quot;</span>, <span class="keyword">false</span>));</div><div class="line"><a name="l09753"></a><span class="lineno"> 9753</span>&#160;                    }</div><div class="line"><a name="l09754"></a><span class="lineno"> 9754</span>&#160;                    <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l09755"></a><span class="lineno"> 9755</span>&#160;                    {</div><div class="line"><a name="l09756"></a><span class="lineno"> 9756</span>&#160;                        <span class="comment">// ignore out of range errors: success remains false</span></div><div class="line"><a name="l09757"></a><span class="lineno"> 9757</span>&#160;                    }</div><div class="line"><a name="l09758"></a><span class="lineno"> 9758</span>&#160;</div><div class="line"><a name="l09759"></a><span class="lineno"> 9759</span>&#160;                    <span class="comment">// throw an exception if test fails</span></div><div class="line"><a name="l09760"></a><span class="lineno"> 9760</span>&#160;                    <span class="keywordflow">if</span> (not success)</div><div class="line"><a name="l09761"></a><span class="lineno"> 9761</span>&#160;                    {</div><div class="line"><a name="l09762"></a><span class="lineno"> 9762</span>&#160;                        <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;unsuccessful: &quot;</span> + val.dump());</div><div class="line"><a name="l09763"></a><span class="lineno"> 9763</span>&#160;                    }</div><div class="line"><a name="l09764"></a><span class="lineno"> 9764</span>&#160;</div><div class="line"><a name="l09765"></a><span class="lineno"> 9765</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09766"></a><span class="lineno"> 9766</span>&#160;                }</div><div class="line"><a name="l09767"></a><span class="lineno"> 9767</span>&#160;</div><div class="line"><a name="l09768"></a><span class="lineno"> 9768</span>&#160;                <span class="keywordflow">case</span> patch_operations::invalid:</div><div class="line"><a name="l09769"></a><span class="lineno"> 9769</span>&#160;                {</div><div class="line"><a name="l09770"></a><span class="lineno"> 9770</span>&#160;                    <span class="comment">// op must be &quot;add&quot;, &quot;remove&quot;, &quot;replace&quot;, &quot;move&quot;, &quot;copy&quot;, or</span></div><div class="line"><a name="l09771"></a><span class="lineno"> 9771</span>&#160;                    <span class="comment">// &quot;test&quot;</span></div><div class="line"><a name="l09772"></a><span class="lineno"> 9772</span>&#160;                    <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;operation value &#39;&quot;</span> + op + <span class="stringliteral">&quot;&#39; is invalid&quot;</span>);</div><div class="line"><a name="l09773"></a><span class="lineno"> 9773</span>&#160;                }</div><div class="line"><a name="l09774"></a><span class="lineno"> 9774</span>&#160;            }</div><div class="line"><a name="l09775"></a><span class="lineno"> 9775</span>&#160;        }</div><div class="line"><a name="l09776"></a><span class="lineno"> 9776</span>&#160;</div><div class="line"><a name="l09777"></a><span class="lineno"> 9777</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09778"></a><span class="lineno"> 9778</span>&#160;    }</div><div class="line"><a name="l09779"></a><span class="lineno"> 9779</span>&#160;</div><div class="line"><a name="l09812"></a><span class="lineno"> 9812</span>&#160;    <span class="keyword">static</span> basic_json diff(<span class="keyword">const</span> basic_json&amp; source,</div><div class="line"><a name="l09813"></a><span class="lineno"> 9813</span>&#160;                           <span class="keyword">const</span> basic_json&amp; target,</div><div class="line"><a name="l09814"></a><span class="lineno"> 9814</span>&#160;                           std::string path = <span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l09815"></a><span class="lineno"> 9815</span>&#160;    {</div><div class="line"><a name="l09816"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587"> 9816</a></span>&#160;        <span class="comment">// the patch</span></div><div class="line"><a name="l09817"></a><span class="lineno"> 9817</span>&#160;        basic_json result(value_t::array);</div><div class="line"><a name="l09818"></a><span class="lineno"> 9818</span>&#160;</div><div class="line"><a name="l09819"></a><span class="lineno"> 9819</span>&#160;        <span class="comment">// if the values are the same, return empty patch</span></div><div class="line"><a name="l09820"></a><span class="lineno"> 9820</span>&#160;        <span class="keywordflow">if</span> (source == target)</div><div class="line"><a name="l09821"></a><span class="lineno"> 9821</span>&#160;        {</div><div class="line"><a name="l09822"></a><span class="lineno"> 9822</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09823"></a><span class="lineno"> 9823</span>&#160;        }</div><div class="line"><a name="l09824"></a><span class="lineno"> 9824</span>&#160;</div><div class="line"><a name="l09825"></a><span class="lineno"> 9825</span>&#160;        <span class="keywordflow">if</span> (source.<a class="code" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a>() != target.<a class="code" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a>())</div><div class="line"><a name="l09826"></a><span class="lineno"> 9826</span>&#160;        {</div><div class="line"><a name="l09827"></a><span class="lineno"> 9827</span>&#160;            <span class="comment">// different types: replace value</span></div><div class="line"><a name="l09828"></a><span class="lineno"> 9828</span>&#160;            result.push_back(</div><div class="line"><a name="l09829"></a><span class="lineno"> 9829</span>&#160;            {</div><div class="line"><a name="l09830"></a><span class="lineno"> 9830</span>&#160;                {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;replace&quot;</span>},</div><div class="line"><a name="l09831"></a><span class="lineno"> 9831</span>&#160;                {<span class="stringliteral">&quot;path&quot;</span>, path},</div><div class="line"><a name="l09832"></a><span class="lineno"> 9832</span>&#160;                {<span class="stringliteral">&quot;value&quot;</span>, target}</div><div class="line"><a name="l09833"></a><span class="lineno"> 9833</span>&#160;            });</div><div class="line"><a name="l09834"></a><span class="lineno"> 9834</span>&#160;        }</div><div class="line"><a name="l09835"></a><span class="lineno"> 9835</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l09836"></a><span class="lineno"> 9836</span>&#160;        {</div><div class="line"><a name="l09837"></a><span class="lineno"> 9837</span>&#160;            <span class="keywordflow">switch</span> (source.<a class="code" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a>())</div><div class="line"><a name="l09838"></a><span class="lineno"> 9838</span>&#160;            {</div><div class="line"><a name="l09839"></a><span class="lineno"> 9839</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09840"></a><span class="lineno"> 9840</span>&#160;                {</div><div class="line"><a name="l09841"></a><span class="lineno"> 9841</span>&#160;                    <span class="comment">// first pass: traverse common elements</span></div><div class="line"><a name="l09842"></a><span class="lineno"> 9842</span>&#160;                    <span class="keywordtype">size_t</span> i = 0;</div><div class="line"><a name="l09843"></a><span class="lineno"> 9843</span>&#160;                    <span class="keywordflow">while</span> (i &lt; source.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>() and i &lt; target.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>())</div><div class="line"><a name="l09844"></a><span class="lineno"> 9844</span>&#160;                    {</div><div class="line"><a name="l09845"></a><span class="lineno"> 9845</span>&#160;                        <span class="comment">// recursive call to compare array values at index i</span></div><div class="line"><a name="l09846"></a><span class="lineno"> 9846</span>&#160;                        <span class="keyword">auto</span> temp_diff = diff(source[i], target[i], path + <span class="stringliteral">&quot;/&quot;</span> + std::to_string(i));</div><div class="line"><a name="l09847"></a><span class="lineno"> 9847</span>&#160;                        result.insert(result.end(), temp_diff.begin(), temp_diff.end());</div><div class="line"><a name="l09848"></a><span class="lineno"> 9848</span>&#160;                        ++i;</div><div class="line"><a name="l09849"></a><span class="lineno"> 9849</span>&#160;                    }</div><div class="line"><a name="l09850"></a><span class="lineno"> 9850</span>&#160;</div><div class="line"><a name="l09851"></a><span class="lineno"> 9851</span>&#160;                    <span class="comment">// i now reached the end of at least one array</span></div><div class="line"><a name="l09852"></a><span class="lineno"> 9852</span>&#160;                    <span class="comment">// in a second pass, traverse the remaining elements</span></div><div class="line"><a name="l09853"></a><span class="lineno"> 9853</span>&#160;</div><div class="line"><a name="l09854"></a><span class="lineno"> 9854</span>&#160;                    <span class="comment">// remove my remaining elements</span></div><div class="line"><a name="l09855"></a><span class="lineno"> 9855</span>&#160;                    <span class="keyword">const</span> <span class="keyword">auto</span> end_index = <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a><span class="keyword">&gt;</span>(result.size());</div><div class="line"><a name="l09856"></a><span class="lineno"> 9856</span>&#160;                    <span class="keywordflow">while</span> (i &lt; source.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>())</div><div class="line"><a name="l09857"></a><span class="lineno"> 9857</span>&#160;                    {</div><div class="line"><a name="l09858"></a><span class="lineno"> 9858</span>&#160;                        <span class="comment">// add operations in reverse order to avoid invalid</span></div><div class="line"><a name="l09859"></a><span class="lineno"> 9859</span>&#160;                        <span class="comment">// indices</span></div><div class="line"><a name="l09860"></a><span class="lineno"> 9860</span>&#160;                        result.insert(result.begin() + end_index, object(</div><div class="line"><a name="l09861"></a><span class="lineno"> 9861</span>&#160;                        {</div><div class="line"><a name="l09862"></a><span class="lineno"> 9862</span>&#160;                            {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;remove&quot;</span>},</div><div class="line"><a name="l09863"></a><span class="lineno"> 9863</span>&#160;                            {<span class="stringliteral">&quot;path&quot;</span>, path + <span class="stringliteral">&quot;/&quot;</span> + std::to_string(i)}</div><div class="line"><a name="l09864"></a><span class="lineno"> 9864</span>&#160;                        }));</div><div class="line"><a name="l09865"></a><span class="lineno"> 9865</span>&#160;                        ++i;</div><div class="line"><a name="l09866"></a><span class="lineno"> 9866</span>&#160;                    }</div><div class="line"><a name="l09867"></a><span class="lineno"> 9867</span>&#160;</div><div class="line"><a name="l09868"></a><span class="lineno"> 9868</span>&#160;                    <span class="comment">// add other remaining elements</span></div><div class="line"><a name="l09869"></a><span class="lineno"> 9869</span>&#160;                    <span class="keywordflow">while</span> (i &lt; target.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>())</div><div class="line"><a name="l09870"></a><span class="lineno"> 9870</span>&#160;                    {</div><div class="line"><a name="l09871"></a><span class="lineno"> 9871</span>&#160;                        result.push_back(</div><div class="line"><a name="l09872"></a><span class="lineno"> 9872</span>&#160;                        {</div><div class="line"><a name="l09873"></a><span class="lineno"> 9873</span>&#160;                            {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;add&quot;</span>},</div><div class="line"><a name="l09874"></a><span class="lineno"> 9874</span>&#160;                            {<span class="stringliteral">&quot;path&quot;</span>, path + <span class="stringliteral">&quot;/&quot;</span> + std::to_string(i)},</div><div class="line"><a name="l09875"></a><span class="lineno"> 9875</span>&#160;                            {<span class="stringliteral">&quot;value&quot;</span>, target[i]}</div><div class="line"><a name="l09876"></a><span class="lineno"> 9876</span>&#160;                        });</div><div class="line"><a name="l09877"></a><span class="lineno"> 9877</span>&#160;                        ++i;</div><div class="line"><a name="l09878"></a><span class="lineno"> 9878</span>&#160;                    }</div><div class="line"><a name="l09879"></a><span class="lineno"> 9879</span>&#160;</div><div class="line"><a name="l09880"></a><span class="lineno"> 9880</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09881"></a><span class="lineno"> 9881</span>&#160;                }</div><div class="line"><a name="l09882"></a><span class="lineno"> 9882</span>&#160;</div><div class="line"><a name="l09883"></a><span class="lineno"> 9883</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09884"></a><span class="lineno"> 9884</span>&#160;                {</div><div class="line"><a name="l09885"></a><span class="lineno"> 9885</span>&#160;                    <span class="comment">// first pass: traverse this object&#39;s elements</span></div><div class="line"><a name="l09886"></a><span class="lineno"> 9886</span>&#160;                    <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = source.<a class="code" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a>(); it != source.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>(); ++it)</div><div class="line"><a name="l09887"></a><span class="lineno"> 9887</span>&#160;                    {</div><div class="line"><a name="l09888"></a><span class="lineno"> 9888</span>&#160;                        <span class="comment">// escape the key name to be used in a JSON patch</span></div><div class="line"><a name="l09889"></a><span class="lineno"> 9889</span>&#160;                        <span class="keyword">const</span> <span class="keyword">auto</span> key = json_pointer::escape(it.key());</div><div class="line"><a name="l09890"></a><span class="lineno"> 9890</span>&#160;</div><div class="line"><a name="l09891"></a><span class="lineno"> 9891</span>&#160;                        <span class="keywordflow">if</span> (target.<a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(it.key()) != target.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>())</div><div class="line"><a name="l09892"></a><span class="lineno"> 9892</span>&#160;                        {</div><div class="line"><a name="l09893"></a><span class="lineno"> 9893</span>&#160;                            <span class="comment">// recursive call to compare object values at key it</span></div><div class="line"><a name="l09894"></a><span class="lineno"> 9894</span>&#160;                            <span class="keyword">auto</span> temp_diff = diff(it.value(), target[it.key()], path + <span class="stringliteral">&quot;/&quot;</span> + key);</div><div class="line"><a name="l09895"></a><span class="lineno"> 9895</span>&#160;                            result.insert(result.end(), temp_diff.begin(), temp_diff.end());</div><div class="line"><a name="l09896"></a><span class="lineno"> 9896</span>&#160;                        }</div><div class="line"><a name="l09897"></a><span class="lineno"> 9897</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l09898"></a><span class="lineno"> 9898</span>&#160;                        {</div><div class="line"><a name="l09899"></a><span class="lineno"> 9899</span>&#160;                            <span class="comment">// found a key that is not in o -&gt; remove it</span></div><div class="line"><a name="l09900"></a><span class="lineno"> 9900</span>&#160;                            result.push_back(<span class="keywordtype">object</span>(</div><div class="line"><a name="l09901"></a><span class="lineno"> 9901</span>&#160;                            {</div><div class="line"><a name="l09902"></a><span class="lineno"> 9902</span>&#160;                                {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;remove&quot;</span>},</div><div class="line"><a name="l09903"></a><span class="lineno"> 9903</span>&#160;                                {<span class="stringliteral">&quot;path&quot;</span>, path + <span class="stringliteral">&quot;/&quot;</span> + key}</div><div class="line"><a name="l09904"></a><span class="lineno"> 9904</span>&#160;                            }));</div><div class="line"><a name="l09905"></a><span class="lineno"> 9905</span>&#160;                        }</div><div class="line"><a name="l09906"></a><span class="lineno"> 9906</span>&#160;                    }</div><div class="line"><a name="l09907"></a><span class="lineno"> 9907</span>&#160;</div><div class="line"><a name="l09908"></a><span class="lineno"> 9908</span>&#160;                    <span class="comment">// second pass: traverse other object&#39;s elements</span></div><div class="line"><a name="l09909"></a><span class="lineno"> 9909</span>&#160;                    <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = target.<a class="code" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a>(); it != target.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>(); ++it)</div><div class="line"><a name="l09910"></a><span class="lineno"> 9910</span>&#160;                    {</div><div class="line"><a name="l09911"></a><span class="lineno"> 9911</span>&#160;                        <span class="keywordflow">if</span> (source.<a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(it.key()) == source.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>())</div><div class="line"><a name="l09912"></a><span class="lineno"> 9912</span>&#160;                        {</div><div class="line"><a name="l09913"></a><span class="lineno"> 9913</span>&#160;                            <span class="comment">// found a key that is not in this -&gt; add it</span></div><div class="line"><a name="l09914"></a><span class="lineno"> 9914</span>&#160;                            <span class="keyword">const</span> <span class="keyword">auto</span> key = json_pointer::escape(it.key());</div><div class="line"><a name="l09915"></a><span class="lineno"> 9915</span>&#160;                            result.push_back(</div><div class="line"><a name="l09916"></a><span class="lineno"> 9916</span>&#160;                            {</div><div class="line"><a name="l09917"></a><span class="lineno"> 9917</span>&#160;                                {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;add&quot;</span>},</div><div class="line"><a name="l09918"></a><span class="lineno"> 9918</span>&#160;                                {<span class="stringliteral">&quot;path&quot;</span>, path + <span class="stringliteral">&quot;/&quot;</span> + key},</div><div class="line"><a name="l09919"></a><span class="lineno"> 9919</span>&#160;                                {<span class="stringliteral">&quot;value&quot;</span>, it.value()}</div><div class="line"><a name="l09920"></a><span class="lineno"> 9920</span>&#160;                            });</div><div class="line"><a name="l09921"></a><span class="lineno"> 9921</span>&#160;                        }</div><div class="line"><a name="l09922"></a><span class="lineno"> 9922</span>&#160;                    }</div><div class="line"><a name="l09923"></a><span class="lineno"> 9923</span>&#160;</div><div class="line"><a name="l09924"></a><span class="lineno"> 9924</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09925"></a><span class="lineno"> 9925</span>&#160;                }</div><div class="line"><a name="l09926"></a><span class="lineno"> 9926</span>&#160;</div><div class="line"><a name="l09927"></a><span class="lineno"> 9927</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l09928"></a><span class="lineno"> 9928</span>&#160;                {</div><div class="line"><a name="l09929"></a><span class="lineno"> 9929</span>&#160;                    <span class="comment">// both primitive type: replace value</span></div><div class="line"><a name="l09930"></a><span class="lineno"> 9930</span>&#160;                    result.push_back(</div><div class="line"><a name="l09931"></a><span class="lineno"> 9931</span>&#160;                    {</div><div class="line"><a name="l09932"></a><span class="lineno"> 9932</span>&#160;                        {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;replace&quot;</span>},</div><div class="line"><a name="l09933"></a><span class="lineno"> 9933</span>&#160;                        {<span class="stringliteral">&quot;path&quot;</span>, path},</div><div class="line"><a name="l09934"></a><span class="lineno"> 9934</span>&#160;                        {<span class="stringliteral">&quot;value&quot;</span>, target}</div><div class="line"><a name="l09935"></a><span class="lineno"> 9935</span>&#160;                    });</div><div class="line"><a name="l09936"></a><span class="lineno"> 9936</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09937"></a><span class="lineno"> 9937</span>&#160;                }</div><div class="line"><a name="l09938"></a><span class="lineno"> 9938</span>&#160;            }</div><div class="line"><a name="l09939"></a><span class="lineno"> 9939</span>&#160;        }</div><div class="line"><a name="l09940"></a><span class="lineno"> 9940</span>&#160;</div><div class="line"><a name="l09941"></a><span class="lineno"> 9941</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09942"></a><span class="lineno"> 9942</span>&#160;    }</div><div class="line"><a name="l09943"></a><span class="lineno"> 9943</span>&#160;</div><div class="line"><a name="l09945"></a><span class="lineno"> 9945</span>&#160;};</div><div class="line"><a name="l09946"></a><span class="lineno"> 9946</span>&#160;</div><div class="line"><a name="l09947"></a><span class="lineno"> 9947</span>&#160;</div><div class="line"><a name="l09949"></a><span class="lineno"> 9949</span>&#160;<span class="comment">// presets //</span></div><div class="line"><a name="l09951"></a><span class="lineno"> 9951</span>&#160;<span class="comment"></span></div><div class="line"><a name="l09960"></a><span class="lineno"> 9960</span>&#160;<span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">json</a> = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json&lt;&gt;</a>;</div><div class="line"><a name="l09961"></a><span class="lineno"> 9961</span>&#160;}</div><div class="line"><a name="l09962"></a><span class="lineno"> 9962</span>&#160;</div><div class="line"><a name="l09963"></a><span class="lineno"> 9963</span>&#160;</div><div class="line"><a name="l09965"></a><span class="lineno"> 9965</span>&#160;<span class="comment">// nonmember support //</span></div><div class="line"><a name="l09967"></a><span class="lineno"> 9967</span>&#160;<span class="comment"></span></div><div class="line"><a name="l09968"></a><span class="lineno"> 9968</span>&#160;<span class="comment">// specialization of std::swap, and std::hash</span></div><div class="line"><a name="l09969"></a><span class="lineno"> 9969</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacestd.html">std</a></div><div class="line"><a name="l09970"></a><span class="lineno"> 9970</span>&#160;{</div><div class="line"><a name="l09976"></a><span class="lineno"> 9976</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l09977"></a><span class="lineno"> 9977</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> swap(<a class="code" href="classnlohmann_1_1basic__json.html">nlohmann::json</a>&amp; j1,</div><div class="line"><a name="l09978"></a><span class="lineno"> 9978</span>&#160;                 <a class="code" href="classnlohmann_1_1basic__json.html">nlohmann::json</a>&amp; j2) noexcept(</div><div class="line"><a name="l09979"></a><span class="lineno"> 9979</span>&#160;                     is_nothrow_move_constructible&lt;nlohmann::json&gt;::value and</div><div class="line"><a name="l09980"></a><span class="lineno"> 9980</span>&#160;                     is_nothrow_move_assignable&lt;nlohmann::json&gt;::value</div><div class="line"><a name="l09981"></a><span class="lineno"> 9981</span>&#160;                 )</div><div class="line"><a name="l09982"></a><span class="lineno"> 9982</span>&#160;{</div><div class="line"><a name="l09983"></a><span class="lineno"> 9983</span>&#160;    j1.swap(j2);</div><div class="line"><a name="l09984"></a><span class="lineno"> 9984</span>&#160;}</div><div class="line"><a name="l09985"></a><span class="lineno"> 9985</span>&#160;</div><div class="line"><a name="l09987"></a><span class="lineno"> 9987</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l09988"></a><span class="lineno"> 9988</span>&#160;<span class="keyword">struct </span>hash&lt;<a class="code" href="namespacenlohmann.html">nlohmann</a>::<a class="code" href="classnlohmann_1_1basic__json.html">json</a>&gt;</div><div class="line"><a name="l09989"></a><span class="lineno"> 9989</span>&#160;{</div><div class="line"><a name="l09995"></a><span class="lineno"> 9995</span>&#160;    std::size_t operator()(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">nlohmann::json</a>&amp; j)<span class="keyword"> const</span></div><div class="line"><a name="l09996"></a><span class="lineno"> 9996</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09997"></a><span class="lineno"> 9997</span>&#160;        <span class="comment">// a naive hashing via the string representation</span></div><div class="line"><a name="l09998"></a><span class="lineno"> 9998</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>&amp; h = hash&lt;nlohmann::json::string_t&gt;();</div><div class="line"><a name="l09999"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01nlohmann_1_1json_01_4_afd03f6ad53db22868ca4163a8200b2f9.html#afd03f6ad53db22868ca4163a8200b2f9"> 9999</a></span>&#160;        <span class="keywordflow">return</span> h(j.<a class="code" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a>());</div><div class="line"><a name="l10000"></a><span class="lineno">10000</span>&#160;    }</div><div class="line"><a name="l10001"></a><span class="lineno">10001</span>&#160;};</div><div class="line"><a name="l10002"></a><span class="lineno">10002</span>&#160;}</div><div class="line"><a name="l10003"></a><span class="lineno">10003</span>&#160;</div><div class="line"><a name="l10016"></a><span class="lineno">10016</span>&#160;<span class="keyword">inline</span> <a class="code" href="classnlohmann_1_1basic__json.html">nlohmann::json</a> <span class="keyword">operator</span> <span class="stringliteral">&quot;&quot;</span> _json(<span class="keyword">const</span> <span class="keywordtype">char</span>* s, std::size_t)</div><div class="line"><a name="l10017"></a><span class="lineno">10017</span>&#160;{</div><div class="line"><a name="l10018"></a><span class="lineno">10018</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">nlohmann::json::parse</a>(reinterpret_cast&lt;const nlohmann::json::string_t::value_type*&gt;(s));</div><div class="line"><a name="l10019"></a><span class="lineno">10019</span>&#160;}</div><div class="line"><a name="l10020"></a><span class="lineno">10020</span>&#160;</div><div class="line"><a name="l10026"></a><span class="lineno">10026</span>&#160;<span class="keyword">inline</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">nlohmann::json::json_pointer</a> <span class="keyword">operator</span> <span class="stringliteral">&quot;&quot;</span> _json_pointer(<span class="keyword">const</span> <span class="keywordtype">char</span>* s, std::size_t)</div><div class="line"><a name="l10027"></a><span class="lineno">10027</span>&#160;{</div><div class="line"><a name="l10028"></a><span class="lineno">10028</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">nlohmann::json::json_pointer</a>(s);</div><div class="line"><a name="l10029"></a><span class="lineno">10029</span>&#160;}</div><div class="line"><a name="l10030"></a><span class="lineno">10030</span>&#160;</div><div class="line"><a name="l10031"></a><span class="lineno">10031</span>&#160;<span class="comment">// restore GCC/clang diagnostic settings</span></div><div class="line"><a name="l10032"></a><span class="lineno">10032</span>&#160;<span class="preprocessor">#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)</span></div><div class="line"><a name="l10033"></a><span class="lineno">10033</span>&#160;<span class="preprocessor">    #pragma GCC diagnostic pop</span></div><div class="line"><a name="l10034"></a><span class="lineno">10034</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l10035"></a><span class="lineno">10035</span>&#160;</div><div class="line"><a name="l10036"></a><span class="lineno">10036</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb_html_a23de834b11bd895209aa65c100ab9ceb"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html#a23de834b11bd895209aa65c100ab9ceb">nlohmann::basic_json::const_iterator::const_iterator</a></div><div class="ttdeci">const_iterator(pointer object) noexcept</div><div class="ttdoc">constructor for a given JSON instance </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06384">json.hpp:6384</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac_html_a5c8bb5200f5eac10d31e26be46e5b1ac"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">nlohmann::basic_json::operator&lt;=</a></div><div class="ttdeci">friend bool operator&lt;=(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: less than or equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05571">json.hpp:5571</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148_html_a8f77085bd98c97a983d9ba12efbf6148"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const value_t value_type)</div><div class="ttdoc">create an empty value with a given type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00967">json.hpp:967</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf_html_a3aaf41d385f0d9a93deb92f9b14ae0cf"><div class="ttname"><a href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const array_t &amp;val)</div><div class="ttdoc">create an array (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01104">json.hpp:1104</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27_html_a51b0036310d8aa5858fecc0d91127f27"><div class="ttname"><a href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">nlohmann::basic_json::count</a></div><div class="ttdeci">size_type count(typename object_t::key_type key) const </div><div class="ttdoc">returns the number of occurrences of a key in a JSON object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04081">json.hpp:4081</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea_html_a99f2e765029e51dd0fff018650f92eea"><div class="ttname"><a href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">const_reference operator[](size_type idx) const </div><div class="ttdoc">access specified array element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03272">json.hpp:3272</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f_html_a8ffbf287736048e683f58306fdb8701f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f">nlohmann::basic_json::iterator::value</a></div><div class="ttdeci">reference value() const </div><div class="ttdoc">return the value of an iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07024">json.hpp:7024</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c_html_a563a7bd281e9919798d18396107fb05c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html#a563a7bd281e9919798d18396107fb05c">nlohmann::basic_json::json_reverse_iterator::operator--</a></div><div class="ttdeci">json_reverse_iterator &amp; operator--()</div><div class="ttdoc">pre-decrement (–it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07086">json.hpp:7086</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f_html_ad6e51670e9c0052856f3fee01df5c44f"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">nlohmann::basic_json::clear</a></div><div class="ttdeci">void clear() noexcept</div><div class="ttdoc">clears the contents </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04632">json.hpp:4632</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803_html_ab4c0b9baaec9ebc4837158e272f6c803"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html#ab4c0b9baaec9ebc4837158e272f6c803">nlohmann::basic_json::const_iterator::operator==</a></div><div class="ttdeci">bool operator==(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06674">json.hpp:6674</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff_html_a693439bffe56a9a8cf53bc4a06b911ff"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html#a693439bffe56a9a8cf53bc4a06b911ff">nlohmann::basic_json::json_reverse_iterator::operator--</a></div><div class="ttdeci">json_reverse_iterator operator--(int)</div><div class="ttdoc">post-decrement (it–) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07080">json.hpp:7080</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b_html_a140b8251f82e99ad279dcad5c977e26b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">reference operator[](T *(&amp;key)[n])</div><div class="ttdoc">access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03404">json.hpp:3404</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8_html_aaf363408931d76472ded14017e59c9e8"><div class="ttname"><a href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">nlohmann::basic_json::operator&gt;&gt;</a></div><div class="ttdeci">friend std::istream &amp; operator&gt;&gt;(std::istream &amp;i, basic_json &amp;j)</div><div class="ttdoc">deserialize from stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05789">json.hpp:5789</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b_html_a628733b45cd0e32bd59efea149f40b4b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">nlohmann::basic_json::is_number_float</a></div><div class="ttdeci">constexpr bool is_number_float() const  noexcept</div><div class="ttdoc">return whether value is a floating-point number </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02349">json.hpp:2349</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b_html_a018ea61dbc973192d2ffc6bccc50696b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">nlohmann::basic_json::rend</a></div><div class="ttdeci">const_reverse_iterator rend() const  noexcept</div><div class="ttdoc">returns a const reverse iterator to one before the first </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04308">json.hpp:4308</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c_html_ae0c848dbc0af1cde15771d45d775b27c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html#ae0c848dbc0af1cde15771d45d775b27c">nlohmann::basic_json::iterator::operator+=</a></div><div class="ttdeci">iterator &amp; operator+=(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06982">json.hpp:6982</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff_html_ad25b2f8c21e241e2d63455537a9294ff"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">nlohmann::basic_json::object</a></div><div class="ttdeci">static basic_json object(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an object from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01685">json.hpp:1685</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151_html_abc4552ba2fe39e7901a83dd6d4dec151"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html#abc4552ba2fe39e7901a83dd6d4dec151">nlohmann::basic_json::const_iterator::operator-</a></div><div class="ttdeci">const_iterator operator-(difference_type i)</div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06800">json.hpp:6800</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723_html_af3bc3e83aa162d7ba4df16a949872723"><div class="ttname"><a href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">nlohmann::basic_json::boolean_t</a></div><div class="ttdeci">BooleanType boolean_t</div><div class="ttdoc">a type for a boolean </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00467">json.hpp:467</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb_html_aa7205e1926d3aea98adeced91b0ff5fb"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">nlohmann::basic_json::cbegin</a></div><div class="ttdeci">const_iterator cbegin() const  noexcept</div><div class="ttdoc">returns a const iterator to the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04162">json.hpp:4162</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6_html_a9486a272e034c0548305d7a12f3045e6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">nlohmann::basic_json::operator+=</a></div><div class="ttdeci">reference operator+=(const typename object_t::value_type &amp;val)</div><div class="ttdoc">add an object to an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04818">json.hpp:4818</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da_html_acbd82115f9232c3d3b5dacc78315b9da"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html#acbd82115f9232c3d3b5dacc78315b9da">nlohmann::basic_json::iterator::operator*</a></div><div class="ttdeci">reference operator*() const </div><div class="ttdoc">return a reference to the value pointed to by the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06940">json.hpp:6940</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5_html_a3654da9a84deaf61899c4eee5b93c2c5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const typename string_t::value_type *val)</div><div class="ttdoc">create a string (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01197">json.hpp:1197</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40_html_ad4ec2bbb8347e7aa3b58e616fd6c7f40"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html#ad4ec2bbb8347e7aa3b58e616fd6c7f40">nlohmann::basic_json::json_reverse_iterator::operator[]</a></div><div class="ttdeci">reference operator[](difference_type n) const </div><div class="ttdoc">access to successor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07122">json.hpp:7122</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f_html_affe7e160e7bb06eed83c8b437af4692f"><div class="ttname"><a href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">nlohmann::basic_json::find</a></div><div class="ttdeci">iterator find(typename object_t::key_type key)</div><div class="ttdoc">find an element in a JSON object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04033">json.hpp:4033</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327_html_a6e2e21da48f5d9471716cd868a068327"><div class="ttname"><a href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">nlohmann::basic_json::operator!=</a></div><div class="ttdeci">friend bool operator!=(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: not equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05409">json.hpp:5409</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de_html_ab8b43d92a042dde96c28aeea81dd52de"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const string_t &amp;val)</div><div class="ttdoc">create a string (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01173">json.hpp:1173</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba_html_a6f3dfd3e83a1e907d7946b47fcd7ceba"><div class="ttname"><a href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">nlohmann::basic_json::push_back</a></div><div class="ttdeci">void push_back(const basic_json &amp;val)</div><div class="ttdoc">add an object to an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04744">json.hpp:4744</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5_html_a3da254c422ede5495f2815c5e48c00c5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">nlohmann::basic_json::erase</a></div><div class="ttdeci">void erase(const size_type idx)</div><div class="ttdoc">remove element from a JSON array given an index </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03986">json.hpp:3986</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0_html_ab00b882d39306d663c23dab110f5cae0"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">nlohmann::basic_json::array_t</a></div><div class="ttdeci">ArrayType&lt; basic_json, AllocatorType&lt; basic_json &gt;&gt; array_t</div><div class="ttdoc">a type for an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00394">json.hpp:394</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c_html_aa45753034bea87f9d2c0c42ace9ff75c"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">nlohmann::basic_json::front</a></div><div class="ttdeci">reference front()</div><div class="ttdoc">access the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03643">json.hpp:3643</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794_html_a38ee0f09a318d003add75e0787040794"><div class="ttname"><a href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">nlohmann::basic_json::swap</a></div><div class="ttdeci">void swap(object_t &amp;other)</div><div class="ttdoc">exchanges the values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05165">json.hpp:5165</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a_html_ac2634bee082633671125e909dffad40a"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html#ac2634bee082633671125e909dffad40a">nlohmann::basic_json::json_reverse_iterator::operator-</a></div><div class="ttdeci">json_reverse_iterator operator-(difference_type i) const </div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07108">json.hpp:7108</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522_html_a0d5820d1dda9dea3bbeb029cacf68522"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html#a0d5820d1dda9dea3bbeb029cacf68522">nlohmann::basic_json::const_iterator::operator+=</a></div><div class="ttdeci">const_iterator &amp; operator+=(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06758">json.hpp:6758</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_html"><div class="ttname"><a href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></div><div class="ttdoc">a class to store JSON values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00187">json.hpp:187</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a_html_a70ae1f0747f5b7a89979512866474f1a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const int val) noexcept</div><div class="ttdoc">create an integer number from an enum type (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01308">json.hpp:1308</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b_html_aca5116682e206dac48f8a56716a3280b"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b">nlohmann::basic_json::json_reverse_iterator::value</a></div><div class="ttdeci">reference value() const </div><div class="ttdoc">return the value of an iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07135">json.hpp:7135</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52_html_a98e05a2c9b8f74bd60442772cddeee52"><div class="ttname"><a href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">nlohmann::basic_json::operator==</a></div><div class="ttdeci">friend bool operator==(std::nullptr_t, const_reference v) noexcept</div><div class="ttdoc">comparison: equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05388">json.hpp:5388</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00539">json.hpp:539</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6_html_a624025acfcf64364d98424402b837bc6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, size_type cnt, const basic_json &amp;val)</div><div class="ttdoc">inserts elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04950">json.hpp:4950</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726_html_a674de1ee73e6bf4843fc5dc1351fb726"><div class="ttname"><a href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">nlohmann::basic_json::at</a></div><div class="ttdeci">const_reference at(const typename object_t::key_type &amp;key) const </div><div class="ttdoc">access specified object element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03179">json.hpp:3179</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40_html_a7a80257f2303210b0a5d056fc0b30b40"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html#a7a80257f2303210b0a5d056fc0b30b40">nlohmann::basic_json::const_iterator::operator+</a></div><div class="ttdeci">const_iterator operator+(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06792">json.hpp:6792</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316_html_a0d96ff13001977a93d65f0a97279d316"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">nlohmann::basic_json::is_object</a></div><div class="ttdeci">constexpr bool is_object() const  noexcept</div><div class="ttdoc">return whether value is an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02371">json.hpp:2371</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b_html_a87499fdb56ca6f0df2242c3335c3dc9b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">nlohmann::basic_json::is_number_integer</a></div><div class="ttdeci">constexpr bool is_number_integer() const  noexcept</div><div class="ttdoc">return whether value is an integer number </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02293">json.hpp:2293</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_html"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator.html">nlohmann::basic_json::iterator</a></div><div class="ttdoc">a mutable random access iterator for the basic_json class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06907">json.hpp:6907</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a_html_ab81f2801779e6cb9d98770860af2e39a"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a">nlohmann::basic_json::parse</a></div><div class="ttdeci">static basic_json parse(std::istream &amp;&amp;i, parser_callback_t cb=nullptr)</div><div class="ttdoc">deserialize from stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05751">json.hpp:5751</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb_html_a8dbaec5bf8ccba3225520356629061cb"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html#a8dbaec5bf8ccba3225520356629061cb">nlohmann::basic_json::const_iterator::operator++</a></div><div class="ttdeci">const_iterator operator++(int)</div><div class="ttdoc">post-increment (it++) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06600">json.hpp:6600</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087_html_a19dfb04c297ffb5f0ef84abfa4a5a087"><div class="ttname"><a href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">nlohmann::basic_json::cend</a></div><div class="ttdeci">const_iterator cend() const  noexcept</div><div class="ttdoc">returns a const iterator to one past the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04233">json.hpp:4233</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f_html_a0ac9894c9de8dc551cf2e5f1c605537f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">nlohmann::basic_json::object_t</a></div><div class="ttdeci">ObjectType&lt; StringType, basic_json, std::less&lt; StringType &gt;, AllocatorType&lt; std::pair&lt; const StringType, basic_json &gt;&gt;&gt; object_t</div><div class="ttdoc">a type for an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00348">json.hpp:348</a></div></div>
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    __ _____ _____ _____</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> __|  |   __|     |   | |  JSON for Modern C++</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">|  |  |__   |  |  | | | |  version 2.0.2</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">|_____|_____|_____|_|___|  https://github.com/nlohmann/json</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">Licensed under the MIT License &lt;http://opensource.org/licenses/MIT&gt;.</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">Copyright (c) 2013-2016 Niels Lohmann &lt;http://nlohmann.me&gt;.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">Permission is hereby  granted, free of charge, to any  person obtaining a copy</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">of this software and associated  documentation files (the &quot;Software&quot;), to deal</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">in the Software  without restriction, including without  limitation the rights</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">to  use, copy,  modify, merge,  publish, distribute,  sublicense, and/or  sell</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">copies  of  the Software,  and  to  permit persons  to  whom  the Software  is</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">The above copyright notice and this permission notice shall be included in all</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">copies or substantial portions of the Software.</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">THE SOFTWARE  IS PROVIDED &quot;AS  IS&quot;, WITHOUT WARRANTY  OF ANY KIND,  EXPRESS OR</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">IMPLIED,  INCLUDING BUT  NOT  LIMITED TO  THE  WARRANTIES OF  MERCHANTABILITY,</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">FITNESS FOR  A PARTICULAR PURPOSE AND  NONINFRINGEMENT. IN NO EVENT  SHALL THE</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">AUTHORS  OR COPYRIGHT  HOLDERS  BE  LIABLE FOR  ANY  CLAIM,  DAMAGES OR  OTHER</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">LIABILITY, WHETHER IN AN ACTION OF  CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">OUT OF OR IN CONNECTION WITH THE SOFTWARE  OR THE USE OR OTHER DEALINGS IN THE</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">SOFTWARE.</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef NLOHMANN_JSON_HPP</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define NLOHMANN_JSON_HPP</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &lt;array&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &lt;cassert&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;ciso646&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;cstdint&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;initializer_list&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;iomanip&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;iterator&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;locale&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;numeric&gt;</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">#include &lt;type_traits&gt;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// exclude unsupported compilers</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="preprocessor">#if defined(__clang__)</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="preprocessor">    #define CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="preprocessor">    #if CLANG_VERSION &lt; 30400</span></div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="preprocessor">        #error &quot;unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers&quot;</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">    #endif</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">#elif defined(__GNUC__)</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">    #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)</span></div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="preprocessor">    #if GCC_VERSION &lt; 40900</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="preprocessor">        #error &quot;unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers&quot;</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="preprocessor">    #endif</span></div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment">// disable float-equal warnings on GCC/clang</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)</span></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">    #pragma GCC diagnostic push</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="preprocessor">    #pragma GCC diagnostic ignored &quot;-Wfloat-equal&quot;</span></div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="namespacenlohmann.html">   81</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacenlohmann.html">nlohmann</a></div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;{</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html">   89</a></span>&#160;<span class="keyword">namespace</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;{</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="keyword">struct </span>has_mapped_type</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;{</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> C&gt; <span class="keyword">static</span> <span class="keywordtype">char</span> test(<span class="keyword">typename</span> C::mapped_type*);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> C&gt; <span class="keyword">static</span> char (&amp;test(...))[2];</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keyword">static</span> constexpr <span class="keywordtype">bool</span> value = <span class="keyword">sizeof</span>(test&lt;T&gt;(0)) == 1;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;};</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;<span class="keyword">struct </span>DecimalSeparator : std::numpunct&lt;char&gt;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;{</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keywordtype">char</span> do_decimal_point()<span class="keyword"> const</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keywordflow">return</span> <span class="charliteral">&#39;.&#39;</span>;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    }</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;};</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;}</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;<span class="keyword">template</span> &lt;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U, <span class="keyword">typename</span> V, <span class="keyword">typename</span>... Args&gt; <span class="keyword">class </span>ObjectType = std::map,</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U, <span class="keyword">typename</span>... Args&gt; <span class="keyword">class </span>ArrayType = std::vector,</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keyword">class </span>StringType = std::string,</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keyword">class </span>BooleanType = bool,</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keyword">class </span>NumberIntegerType = std::int64_t,</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keyword">class </span>NumberUnsignedType = std::uint64_t,</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keyword">class </span>NumberFloatType = double,</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> U&gt; <span class="keyword">class </span>AllocatorType = std::allocator</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    &gt;</div><div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json.html">  221</a></span>&#160;<span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a></div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;{</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json_t</a> = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&lt;ObjectType, ArrayType, StringType,</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;          BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType,</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;          AllocatorType&gt;;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <span class="comment">// forward declarations</span></div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">  231</a></span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Base&gt; <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>;</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="comment">// container types //</span></div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">  244</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">value_type</a> = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">  247</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> = <a class="code" href="classnlohmann_1_1basic__json.html">value_type</a>&amp;;</div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">  249</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> = <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">value_type</a>&amp;;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">  252</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> = std::ptrdiff_t;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">  254</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> = std::size_t;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">  257</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a> = AllocatorType&lt;basic_json&gt;;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">  260</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a> = <span class="keyword">typename</span> std::allocator_traits&lt;allocator_type&gt;::pointer;</div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">  262</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a> = <span class="keyword">typename</span> std::allocator_traits&lt;allocator_type&gt;::const_pointer;</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>;</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a2f1f83aa187a56dc5ec7a7027065ac8a.html#a2f1f83aa187a56dc5ec7a7027065ac8a">  269</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a> = <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator&lt;typename basic_json::iterator&gt;</a>;</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ae336fff01f4b78e3e16e5008dc8dbc00.html#ae336fff01f4b78e3e16e5008dc8dbc00">  271</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> = <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator&lt;typename basic_json::const_iterator&gt;</a>;</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">  279</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a> <a class="code" href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">get_allocator</a>()</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    {</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">allocator_type</a>();</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    }</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    <span class="comment">// JSON value data types //</span></div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> = ObjectType&lt;StringType,</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;          <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>,</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;          std::less&lt;StringType&gt;,</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;          AllocatorType&lt;std::pair&lt;<span class="keyword">const</span> StringType,</div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">  381</a></span>&#160;          basic_json&gt;&gt;&gt;;</div><div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">  427</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a> = ArrayType&lt;basic_json, AllocatorType&lt;basic_json&gt;&gt;;</div><div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;</div><div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">  474</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> = StringType;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">  500</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> = BooleanType;</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div><div class="line"><a name="l00572"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">  572</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> = NumberIntegerType;</div><div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">  643</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> = NumberUnsignedType;</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">  711</a></span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> = NumberFloatType;</div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;</div><div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;</div><div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    <span class="comment">// JSON type enumeration //</span></div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">  742</a></span>&#160;    <span class="keyword">enum class</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> : uint8_t</div><div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;    {</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;        null,            </div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;        object,          </div><div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;        array,           </div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;        string,          </div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        boolean,         </div><div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;        number_integer,  </div><div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;        number_unsigned, </div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;        number_float,    </div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;        discarded        </div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    };</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;</div><div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span>... Args&gt;</div><div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    <span class="keyword">static</span> T* create(Args&amp;&amp; ... args)</div><div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;    {</div><div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;        AllocatorType&lt;T&gt; alloc;</div><div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;        <span class="keyword">auto</span> deleter = [&amp;](T * object)</div><div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;        {</div><div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;            alloc.deallocate(<span class="keywordtype">object</span>, 1);</div><div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;        };</div><div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;        std::unique_ptr&lt;T, decltype(deleter)&gt; object(alloc.allocate(1), deleter);</div><div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;        alloc.construct(<span class="keywordtype">object</span>.<span class="keyword">get</span>(), std::forward&lt;Args&gt;(args)...);</div><div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;        assert(<span class="keywordtype">object</span>.<span class="keyword">get</span>() != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <span class="keywordflow">return</span> <span class="keywordtype">object</span>.release();</div><div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;    }</div><div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;</div><div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;    <span class="comment">// JSON value storage //</span></div><div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <span class="keyword">union </span>json_value</div><div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;    {</div><div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>* object;</div><div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>* array;</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>* string;</div><div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> boolean;</div><div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> number_integer;</div><div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> number_unsigned;</div><div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> number_float;</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;</div><div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;        json_value() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> v) noexcept : boolean(v) {}</div><div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> v) noexcept : number_integer(v) {}</div><div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> v) noexcept : number_unsigned(v) {}</div><div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> v) noexcept : number_float(v) {}</div><div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;        json_value(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> t)</div><div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;        {</div><div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;            <span class="keywordflow">switch</span> (t)</div><div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;            {</div><div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;                {</div><div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;                    <span class="keywordtype">object</span> = create&lt;object_t&gt;();</div><div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;                }</div><div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;</div><div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;                {</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;                    array = create&lt;array_t&gt;();</div><div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;                }</div><div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;                <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;                {</div><div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;                    <span class="keywordtype">string</span> = create&lt;string_t&gt;(<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;                }</div><div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;</div><div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;                <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;                {</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;                    <span class="keywordtype">boolean</span> = <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>(<span class="keyword">false</span>);</div><div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;                }</div><div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;</div><div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;                <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;                {</div><div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;                    number_integer = <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>(0);</div><div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;                }</div><div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;</div><div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;                <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;                {</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;                    number_unsigned = <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>(0);</div><div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;                }</div><div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;</div><div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;                <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;                {</div><div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;                    number_float = <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>(0.0);</div><div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;                }</div><div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;</div><div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;                {</div><div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;                }</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;            }</div><div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;        }</div><div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;</div><div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;        json_value(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; value)</div><div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;        {</div><div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;            <span class="keywordtype">string</span> = create&lt;string_t&gt;(value);</div><div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;        }</div><div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;</div><div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;        json_value(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>&amp; value)</div><div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;        {</div><div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;            <span class="keywordtype">object</span> = create&lt;object_t&gt;(value);</div><div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;        }</div><div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;</div><div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;        json_value(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>&amp; value)</div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;        {</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;            array = create&lt;array_t&gt;(value);</div><div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;        }</div><div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;    };</div><div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;</div><div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;    <span class="keywordtype">void</span> assert_invariant()<span class="keyword"> const</span></div><div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;        assert(m_type != value_t::object or m_value.object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;        assert(m_type != value_t::array or m_value.array != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;        assert(m_type != value_t::string or m_value.string != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;    }</div><div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;</div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;    <span class="comment">// JSON parser callback //</span></div><div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00932"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">  932</a></span>&#160;    <span class="keyword">enum class</span> <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a> : uint8_t</div><div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;    {</div><div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;        object_start,</div><div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;        object_end,</div><div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;        array_start,</div><div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;        array_end,</div><div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;        key,</div><div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;        value</div><div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;    };</div><div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;    <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> = std::function&lt;bool(<span class="keywordtype">int</span> depth,</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;                              <a class="code" href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">parse_event_t</a> event,</div><div class="line"><a name="l01002"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a"> 1002</a></span>&#160;                              basic_json&amp; parsed)&gt;;</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;    <span class="comment">// constructors //</span></div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;<span class="comment"></span></div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;</div><div class="line"><a name="l01053"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148"> 1053</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> <a class="code" href="classnlohmann_1_1basic__json.html">value_type</a>)</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;        : m_type(value_type), m_value(value_type)</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;    {</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;        assert_invariant();</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;    }</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;</div><div class="line"><a name="l01110"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e"> 1110</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">basic_json</a>(std::nullptr_t) noexcept</div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;        : <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::null)</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;    {</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;        assert_invariant();</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;    }</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;</div><div class="line"><a name="l01135"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813"> 1135</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>&amp; val)</div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::object), m_value(val)</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;    {</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;        assert_invariant();</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;    }</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>CompatibleObjectType, <span class="keyword">typename</span></div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;                  std::is_constructible&lt;typename object_t::key_type, typename CompatibleObjectType::key_type&gt;::value and</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;                  std::is_constructible&lt;basic_json, typename CompatibleObjectType::mapped_type&gt;::value, <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;              = 0&gt;</div><div class="line"><a name="l01172"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8"> 1172</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">basic_json</a>(<span class="keyword">const</span> CompatibleObjectType&amp; val)</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::object)</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;    {</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;        <span class="keyword">using</span> std::begin;</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;        <span class="keyword">using</span> std::end;</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;        m_value.object = create&lt;object_t&gt;(begin(val), end(val));</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;        assert_invariant();</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;    }</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;</div><div class="line"><a name="l01200"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf"> 1200</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>&amp; val)</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::array), m_value(val)</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;    {</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;        assert_invariant();</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;    }</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>CompatibleArrayType, <span class="keyword">typename</span></div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename basic_json_t::iterator&gt;::value and</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename basic_json_t::const_iterator&gt;::value and</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename basic_json_t::reverse_iterator&gt;::value and</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename basic_json_t::const_reverse_iterator&gt;::value and</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename array_t::iterator&gt;::value and</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;                  not std::is_same&lt;CompatibleArrayType, typename array_t::const_iterator&gt;::value and</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;                  std::is_constructible&lt;basic_json, typename CompatibleArrayType::value_type&gt;::value, <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;              = 0&gt;</div><div class="line"><a name="l01242"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1"> 1242</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">basic_json</a>(<span class="keyword">const</span> CompatibleArrayType&amp; val)</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::array)</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;    {</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;        <span class="keyword">using</span> std::begin;</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;        <span class="keyword">using</span> std::end;</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;        m_value.array = create&lt;array_t&gt;(begin(val), end(val));</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;        assert_invariant();</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;    }</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;</div><div class="line"><a name="l01272"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de"> 1272</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; val)</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::string), m_value(val)</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;    {</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;        assert_invariant();</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;    }</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;</div><div class="line"><a name="l01298"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5"> 1298</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">basic_json</a>(<span class="keyword">const</span> <span class="keyword">typename</span> string_t::value_type* val)</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;        : <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(<a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(val))</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;    {</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;        assert_invariant();</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;    }</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>CompatibleStringType, <span class="keyword">typename</span></div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;                  std::is_constructible&lt;string_t, CompatibleStringType&gt;::value, <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;              = 0&gt;</div><div class="line"><a name="l01331"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9"> 1331</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">basic_json</a>(<span class="keyword">const</span> CompatibleStringType&amp; val)</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;        : <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(<a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(val))</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;    {</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;        assert_invariant();</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;    }</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;</div><div class="line"><a name="l01351"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a"> 1351</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">basic_json</a>(<a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> val) noexcept</div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;        : m_type(value_t::boolean), m_value(val)</div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;    {</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;        assert_invariant();</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;    }</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;             <span class="keyword">typename</span> std::enable_if&lt;</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;                 not (std::is_same&lt;T, int&gt;::value)</div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;                 and std::is_same&lt;T, number_integer_t&gt;::value</div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;             = 0&gt;</div><div class="line"><a name="l01386"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6"> 1386</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a> val) noexcept</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;        : m_type(value_t::number_integer), m_value(val)</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;    {</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;        assert_invariant();</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;    }</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;</div><div class="line"><a name="l01417"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a"> 1417</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">basic_json</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> val) noexcept</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;        : m_type(value_t::number_integer),</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;          m_value(static_cast&lt;number_integer_t&gt;(val))</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;    {</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;        assert_invariant();</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;    }</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CompatibleNumberIntegerType, <span class="keyword">typename</span></div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;                 std::is_constructible&lt;number_integer_t, CompatibleNumberIntegerType&gt;::value and</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;                 std::numeric_limits&lt;CompatibleNumberIntegerType&gt;::is_integer and</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;                 std::numeric_limits&lt;CompatibleNumberIntegerType&gt;::is_signed,</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;                 CompatibleNumberIntegerType&gt;::type</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;             = 0&gt;</div><div class="line"><a name="l01456"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2"> 1456</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">basic_json</a>(<span class="keyword">const</span> CompatibleNumberIntegerType val) noexcept</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;        : m_type(value_t::number_integer),</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;          m_value(static_cast&lt;number_integer_t&gt;(val))</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;    {</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;        assert_invariant();</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;    }</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T,</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;             <span class="keyword">typename</span> std::enable_if&lt;</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;                 not (std::is_same&lt;T, int&gt;::value)</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;                 and std::is_same&lt;T, number_unsigned_t&gt;::value</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;             = 0&gt;</div><div class="line"><a name="l01486"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d"> 1486</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> val) noexcept</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;        : m_type(value_t::number_unsigned), m_value(val)</div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;    {</div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;        assert_invariant();</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;    }</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;</div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> CompatibleNumberUnsignedType, <span class="keyword">typename</span></div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;              std::enable_if &lt;</div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;                  std::is_constructible&lt;number_unsigned_t, CompatibleNumberUnsignedType&gt;::value and</div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;                  std::numeric_limits&lt;CompatibleNumberUnsignedType&gt;::is_integer and</div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;                  not std::numeric_limits&lt;CompatibleNumberUnsignedType&gt;::is_signed,</div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;                  CompatibleNumberUnsignedType&gt;::type</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;              = 0&gt;</div><div class="line"><a name="l01519"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834"> 1519</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">basic_json</a>(<span class="keyword">const</span> CompatibleNumberUnsignedType val) noexcept</div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;        : m_type(value_t::number_unsigned),</div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160;          m_value(static_cast&lt;number_unsigned_t&gt;(val))</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;    {</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;        assert_invariant();</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;    }</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;</div><div class="line"><a name="l01550"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f"> 1550</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a> val) noexcept</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;        : m_type(value_t::number_float), m_value(val)</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;    {</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;        <span class="comment">// replace infinity and NAN by null</span></div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160;        <span class="keywordflow">if</span> (not std::isfinite(val))</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;        {</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;            m_type = value_t::null;</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;            m_value = json_value();</div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;        }</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;</div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;        assert_invariant();</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;    }</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160;</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CompatibleNumberFloatType, <span class="keyword">typename</span> = <span class="keyword">typename</span></div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;                 std::is_constructible&lt;number_float_t, CompatibleNumberFloatType&gt;::value and</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;                 std::is_floating_point&lt;CompatibleNumberFloatType&gt;::value&gt;::type</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;             &gt;</div><div class="line"><a name="l01599"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe"> 1599</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">basic_json</a>(<span class="keyword">const</span> CompatibleNumberFloatType val) noexcept</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;        : <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>(val))</div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;    {</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;        assert_invariant();</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;    }</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;</div><div class="line"><a name="l01674"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb"> 1674</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">basic_json</a>(std::initializer_list&lt;basic_json&gt; init,</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;               <span class="keywordtype">bool</span> type_deduction = <span class="keyword">true</span>,</div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;               <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> manual_type = value_t::array)</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;    {</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;        <span class="comment">// check if each element is an array with two elements whose first</span></div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;        <span class="comment">// element is a string</span></div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;        <span class="keywordtype">bool</span> is_an_object = std::all_of(init.begin(), init.end(),</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;                                        [](<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> &amp; element)</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160;        {</div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;            <span class="keywordflow">return</span> element.is_array() and element.size() == 2 and element[0].is_string();</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;        });</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;        <span class="comment">// adjust type if type deduction is not wanted</span></div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;        <span class="keywordflow">if</span> (not type_deduction)</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;        {</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;            <span class="comment">// if array is wanted, do not create an object though possible</span></div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;            <span class="keywordflow">if</span> (manual_type == value_t::array)</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;            {</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;                is_an_object = <span class="keyword">false</span>;</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160;            }</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160;</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;            <span class="comment">// if object is wanted but impossible, throw an exception</span></div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;            <span class="keywordflow">if</span> (manual_type == value_t::object and not is_an_object)</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;            {</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot create object from initializer list&quot;</span>);</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;            }</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;        }</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;        <span class="keywordflow">if</span> (is_an_object)</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;        {</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160;            <span class="comment">// the initializer list is a list of pairs -&gt; create object</span></div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;            m_type = value_t::object;</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160;            m_value = value_t::object;</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;            std::for_each(init.begin(), init.end(), [<span class="keyword">this</span>](<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> &amp; element)</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160;            {</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;                m_value.object-&gt;emplace(*(element[0].m_value.string), element[1]);</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;            });</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;        }</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;        {</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;            <span class="comment">// the initializer list describes an array -&gt; create array</span></div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;            m_type = value_t::array;</div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;            m_value.array = create&lt;array_t&gt;(init);</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160;        }</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;        assert_invariant();</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;    }</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;</div><div class="line"><a name="l01757"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f"> 1757</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> <a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a>(std::initializer_list&lt;basic_json&gt; init =</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;                                std::initializer_list&lt;basic_json&gt;())</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;    {</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(init, <span class="keyword">false</span>, value_t::array);</div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160;    }</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;</div><div class="line"><a name="l01797"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff"> 1797</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> <a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a>(std::initializer_list&lt;basic_json&gt; init =</div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;                                 std::initializer_list&lt;basic_json&gt;())</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;    {</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(init, <span class="keyword">false</span>, value_t::object);</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;    }</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;</div><div class="line"><a name="l01821"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52"> 1821</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">basic_json</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> cnt, <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; val)</div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;        : m_type(<a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>::array)</div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;    {</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;        m_value.array = create&lt;array_t&gt;(cnt, val);</div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;        assert_invariant();</div><div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;    }</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160;</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>InputIT, <span class="keyword">typename</span></div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;                  std::is_same&lt;InputIT, typename basic_json_t::iterator&gt;::value or</div><div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160;                  std::is_same&lt;InputIT, typename basic_json_t::const_iterator&gt;::value</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;              = 0&gt;</div><div class="line"><a name="l01870"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c"> 1870</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">basic_json</a>(InputIT first, InputIT last)</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160;    {</div><div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;        assert(first.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160;        assert(last.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;</div><div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;        <span class="comment">// make sure iterator fits the current value</span></div><div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;        <span class="keywordflow">if</span> (first.m_object != last.m_object)</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160;        {</div><div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterators are not compatible&quot;</span>);</div><div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160;        }</div><div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;</div><div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;        <span class="comment">// copy type from first iterator</span></div><div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;        m_type = first.m_object-&gt;m_type;</div><div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;</div><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;        <span class="comment">// check if iterator range is complete for primitive values</span></div><div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160;        {</div><div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;            {</div><div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160;                <span class="keywordflow">if</span> (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())</div><div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;                {</div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;iterators out of range&quot;</span>);</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;                }</div><div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;            }</div><div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;</div><div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160;            {</div><div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;            }</div><div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;        }</div><div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;</div><div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;        {</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160;            {</div><div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;                m_value.number_integer = first.m_object-&gt;m_value.number_integer;</div><div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;            }</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;            {</div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;                m_value.number_unsigned = first.m_object-&gt;m_value.number_unsigned;</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;            }</div><div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;</div><div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;            {</div><div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;                m_value.number_float = first.m_object-&gt;m_value.number_float;</div><div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;            }</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;            {</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;                m_value.boolean = first.m_object-&gt;m_value.boolean;</div><div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;            }</div><div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;</div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160;            {</div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;                m_value = *first.m_object-&gt;m_value.string;</div><div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;            }</div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;</div><div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;            {</div><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;                m_value.object = create&lt;object_t&gt;(first.m_it.object_iterator, last.m_it.object_iterator);</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;            }</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;</div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;            {</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;                m_value.array = create&lt;array_t&gt;(first.m_it.array_iterator, last.m_it.array_iterator);</div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;            }</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;            {</div><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use construct with iterators from &quot;</span> + first.m_object-&gt;type_name());</div><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;            }</div><div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;        }</div><div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;</div><div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;        assert_invariant();</div><div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160;    }</div><div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160;</div><div class="line"><a name="l01979"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70"> 1979</a></span>&#160;    <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">basic_json</a>(std::istream&amp; i, <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;    {</div><div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160;        *<span class="keyword">this</span> = parser(i, cb).parse();</div><div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;        assert_invariant();</div><div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;    }</div><div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;</div><div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;    <span class="comment">// other constructors and destructor //</span></div><div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;<span class="comment"></span></div><div class="line"><a name="l02011"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7"> 2011</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">basic_json</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; other)</div><div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;        : m_type(other.m_type)</div><div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;    {</div><div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;        <span class="comment">// check of passed value is valid</span></div><div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;        other.assert_invariant();</div><div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;</div><div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;        {</div><div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;            {</div><div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;                m_value = *other.m_value.object;</div><div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;            }</div><div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;</div><div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;            {</div><div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;                m_value = *other.m_value.array;</div><div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160;            }</div><div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;</div><div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;            {</div><div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;                m_value = *other.m_value.string;</div><div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;            }</div><div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160;</div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;            {</div><div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;                m_value = other.m_value.boolean;</div><div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;            }</div><div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;</div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;            {</div><div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;                m_value = other.m_value.number_integer;</div><div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;            }</div><div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;</div><div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;            {</div><div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;                m_value = other.m_value.number_unsigned;</div><div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;            }</div><div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;</div><div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;            {</div><div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;                m_value = other.m_value.number_float;</div><div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;            }</div><div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;</div><div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;            {</div><div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;            }</div><div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;        }</div><div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;</div><div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;        assert_invariant();</div><div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;    }</div><div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;</div><div class="line"><a name="l02088"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2"> 2088</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">basic_json</a>(<a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp;&amp; other) noexcept</div><div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;        : m_type(<a class="code" href="namespacestd.html">std</a>::move(other.m_type)),</div><div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;          m_value(<a class="code" href="namespacestd.html">std</a>::move(other.m_value))</div><div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;    {</div><div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;        <span class="comment">// check that passed value is valid</span></div><div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;        other.assert_invariant();</div><div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;</div><div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;        <span class="comment">// invalidate payload</span></div><div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;        other.m_type = value_t::null;</div><div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;        other.m_value = {};</div><div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;</div><div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;        assert_invariant();</div><div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;    }</div><div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;</div><div class="line"><a name="l02125"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154"> 2125</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">operator=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> other) noexcept (</div><div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;        std::is_nothrow_move_constructible&lt;value_t&gt;::value and</div><div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;        std::is_nothrow_move_assignable&lt;value_t&gt;::value and</div><div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;        std::is_nothrow_move_constructible&lt;json_value&gt;::value and</div><div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160;        std::is_nothrow_move_assignable&lt;json_value&gt;::value</div><div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160;    )</div><div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;    {</div><div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160;        <span class="comment">// check that passed value is valid</span></div><div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>&#160;        other.assert_invariant();</div><div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;</div><div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;        <span class="keyword">using</span> std::swap;</div><div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160;        swap(m_type, other.m_type);</div><div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;        swap(m_value, other.m_value);</div><div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;</div><div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;        assert_invariant();</div><div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160;    }</div><div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;</div><div class="line"><a name="l02158"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831"> 2158</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">~basic_json</a>()</div><div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160;    {</div><div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160;        assert_invariant();</div><div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>&#160;</div><div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;        {</div><div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;            {</div><div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;                AllocatorType&lt;object_t&gt; alloc;</div><div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;                alloc.destroy(m_value.object);</div><div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160;                alloc.deallocate(m_value.object, 1);</div><div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;            }</div><div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160;</div><div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>&#160;            {</div><div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>&#160;                AllocatorType&lt;array_t&gt; alloc;</div><div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>&#160;                alloc.destroy(m_value.array);</div><div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>&#160;                alloc.deallocate(m_value.array, 1);</div><div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160;            }</div><div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>&#160;</div><div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>&#160;            {</div><div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160;                AllocatorType&lt;string_t&gt; alloc;</div><div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;                alloc.destroy(m_value.string);</div><div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160;                alloc.deallocate(m_value.string, 1);</div><div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;            }</div><div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;</div><div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>&#160;            {</div><div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160;                <span class="comment">// all other types need no specific destructor</span></div><div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160;            }</div><div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160;        }</div><div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;    }</div><div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;</div><div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>&#160;</div><div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160;    <span class="comment">// object inspection //</span></div><div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;<span class="comment"></span></div><div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>&#160;</div><div class="line"><a name="l02230"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40"> 2230</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> <a class="code" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> indent = -1)<span class="keyword"> const</span></div><div class="line"><a name="l02231"></a><span class="lineno"> 2231</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02232"></a><span class="lineno"> 2232</span>&#160;        std::stringstream ss;</div><div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160;        <span class="comment">// fix locale problems</span></div><div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160;        ss.imbue(std::locale(std::locale(), <span class="keyword">new</span> DecimalSeparator));</div><div class="line"><a name="l02235"></a><span class="lineno"> 2235</span>&#160;</div><div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160;        <span class="comment">// 6, 15 or 16 digits of precision allows round-trip IEEE 754</span></div><div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;        <span class="comment">// string-&gt;float-&gt;string, string-&gt;double-&gt;string or string-&gt;long</span></div><div class="line"><a name="l02238"></a><span class="lineno"> 2238</span>&#160;        <span class="comment">// double-&gt;string; to be safe, we read this value from</span></div><div class="line"><a name="l02239"></a><span class="lineno"> 2239</span>&#160;        <span class="comment">// std::numeric_limits&lt;number_float_t&gt;::digits10</span></div><div class="line"><a name="l02240"></a><span class="lineno"> 2240</span>&#160;        ss.precision(std::numeric_limits&lt;double&gt;::digits10);</div><div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160;</div><div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;        <span class="keywordflow">if</span> (indent &gt;= 0)</div><div class="line"><a name="l02243"></a><span class="lineno"> 2243</span>&#160;        {</div><div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160;            dump(ss, <span class="keyword">true</span>, static_cast&lt;unsigned int&gt;(indent));</div><div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160;        }</div><div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02247"></a><span class="lineno"> 2247</span>&#160;        {</div><div class="line"><a name="l02248"></a><span class="lineno"> 2248</span>&#160;            dump(ss, <span class="keyword">false</span>, 0);</div><div class="line"><a name="l02249"></a><span class="lineno"> 2249</span>&#160;        }</div><div class="line"><a name="l02250"></a><span class="lineno"> 2250</span>&#160;</div><div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l02252"></a><span class="lineno"> 2252</span>&#160;    }</div><div class="line"><a name="l02253"></a><span class="lineno"> 2253</span>&#160;</div><div class="line"><a name="l02272"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa"> 2272</a></span>&#160;    constexpr <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> <a class="code" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a>() const noexcept</div><div class="line"><a name="l02273"></a><span class="lineno"> 2273</span>&#160;    {</div><div class="line"><a name="l02274"></a><span class="lineno"> 2274</span>&#160;        <span class="keywordflow">return</span> m_type;</div><div class="line"><a name="l02275"></a><span class="lineno"> 2275</span>&#160;    }</div><div class="line"><a name="l02276"></a><span class="lineno"> 2276</span>&#160;</div><div class="line"><a name="l02302"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488"> 2302</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">is_primitive</a>() const noexcept</div><div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>&#160;    {</div><div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>&#160;        <span class="keywordflow">return</span> is_null() or is_string() or is_boolean() or is_number();</div><div class="line"><a name="l02305"></a><span class="lineno"> 2305</span>&#160;    }</div><div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160;</div><div class="line"><a name="l02329"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8"> 2329</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">is_structured</a>() const noexcept</div><div class="line"><a name="l02330"></a><span class="lineno"> 2330</span>&#160;    {</div><div class="line"><a name="l02331"></a><span class="lineno"> 2331</span>&#160;        <span class="keywordflow">return</span> is_array() or is_object();</div><div class="line"><a name="l02332"></a><span class="lineno"> 2332</span>&#160;    }</div><div class="line"><a name="l02333"></a><span class="lineno"> 2333</span>&#160;</div><div class="line"><a name="l02351"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb"> 2351</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a>() const noexcept</div><div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160;    {</div><div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::null;</div><div class="line"><a name="l02354"></a><span class="lineno"> 2354</span>&#160;    }</div><div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160;</div><div class="line"><a name="l02373"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0"> 2373</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">is_boolean</a>() const noexcept</div><div class="line"><a name="l02374"></a><span class="lineno"> 2374</span>&#160;    {</div><div class="line"><a name="l02375"></a><span class="lineno"> 2375</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::boolean;</div><div class="line"><a name="l02376"></a><span class="lineno"> 2376</span>&#160;    }</div><div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160;</div><div class="line"><a name="l02403"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649"> 2403</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">is_number</a>() const noexcept</div><div class="line"><a name="l02404"></a><span class="lineno"> 2404</span>&#160;    {</div><div class="line"><a name="l02405"></a><span class="lineno"> 2405</span>&#160;        <span class="keywordflow">return</span> is_number_integer() or is_number_float();</div><div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160;    }</div><div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160;</div><div class="line"><a name="l02432"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b"> 2432</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">is_number_integer</a>() const noexcept</div><div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160;    {</div><div class="line"><a name="l02434"></a><span class="lineno"> 2434</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::number_integer or m_type == value_t::number_unsigned;</div><div class="line"><a name="l02435"></a><span class="lineno"> 2435</span>&#160;    }</div><div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160;</div><div class="line"><a name="l02460"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5"> 2460</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">is_number_unsigned</a>() const noexcept</div><div class="line"><a name="l02461"></a><span class="lineno"> 2461</span>&#160;    {</div><div class="line"><a name="l02462"></a><span class="lineno"> 2462</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::number_unsigned;</div><div class="line"><a name="l02463"></a><span class="lineno"> 2463</span>&#160;    }</div><div class="line"><a name="l02464"></a><span class="lineno"> 2464</span>&#160;</div><div class="line"><a name="l02488"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b"> 2488</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">is_number_float</a>() const noexcept</div><div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160;    {</div><div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::number_float;</div><div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160;    }</div><div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160;</div><div class="line"><a name="l02510"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316"> 2510</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a>() const noexcept</div><div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160;    {</div><div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::object;</div><div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160;    }</div><div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160;</div><div class="line"><a name="l02532"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666"> 2532</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a>() const noexcept</div><div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160;    {</div><div class="line"><a name="l02534"></a><span class="lineno"> 2534</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::array;</div><div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160;    }</div><div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160;</div><div class="line"><a name="l02554"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03"> 2554</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">is_string</a>() const noexcept</div><div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160;    {</div><div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::string;</div><div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160;    }</div><div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160;</div><div class="line"><a name="l02581"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99"> 2581</a></span>&#160;    constexpr <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a>() const noexcept</div><div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160;    {</div><div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160;        <span class="keywordflow">return</span> m_type == value_t::discarded;</div><div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160;    }</div><div class="line"><a name="l02585"></a><span class="lineno"> 2585</span>&#160;</div><div class="line"><a name="l02604"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a101cd941eb8a5c299660449c71d0e75e.html#a101cd941eb8a5c299660449c71d0e75e"> 2604</a></span>&#160;    constexpr <span class="keyword">operator</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a>() const noexcept</div><div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160;    {</div><div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160;        <span class="keywordflow">return</span> m_type;</div><div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160;    }</div><div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160;</div><div class="line"><a name="l02610"></a><span class="lineno"> 2610</span>&#160;</div><div class="line"><a name="l02611"></a><span class="lineno"> 2611</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160;    <span class="comment">// value access //</span></div><div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160;<span class="comment"></span></div><div class="line"><a name="l02617"></a><span class="lineno"> 2617</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>T, <span class="keyword">typename</span></div><div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160;                  std::is_convertible&lt;typename object_t::key_type, typename T::key_type&gt;::value and</div><div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160;                  std::is_convertible&lt;basic_json_t, typename T::mapped_type&gt;::value</div><div class="line"><a name="l02621"></a><span class="lineno"> 2621</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160;        {</div><div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160;            <span class="keywordflow">return</span> T(m_value.object-&gt;begin(), m_value.object-&gt;end());</div><div class="line"><a name="l02627"></a><span class="lineno"> 2627</span>&#160;        }</div><div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160;        {</div><div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be object, but is &quot;</span> + type_name());</div><div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160;        }</div><div class="line"><a name="l02632"></a><span class="lineno"> 2632</span>&#160;    }</div><div class="line"><a name="l02633"></a><span class="lineno"> 2633</span>&#160;</div><div class="line"><a name="l02635"></a><span class="lineno"> 2635</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a> get_impl(<a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>*)<span class="keyword"> const</span></div><div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02637"></a><span class="lineno"> 2637</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l02638"></a><span class="lineno"> 2638</span>&#160;        {</div><div class="line"><a name="l02639"></a><span class="lineno"> 2639</span>&#160;            <span class="keywordflow">return</span> *(m_value.object);</div><div class="line"><a name="l02640"></a><span class="lineno"> 2640</span>&#160;        }</div><div class="line"><a name="l02641"></a><span class="lineno"> 2641</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02642"></a><span class="lineno"> 2642</span>&#160;        {</div><div class="line"><a name="l02643"></a><span class="lineno"> 2643</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be object, but is &quot;</span> + type_name());</div><div class="line"><a name="l02644"></a><span class="lineno"> 2644</span>&#160;        }</div><div class="line"><a name="l02645"></a><span class="lineno"> 2645</span>&#160;    }</div><div class="line"><a name="l02646"></a><span class="lineno"> 2646</span>&#160;</div><div class="line"><a name="l02648"></a><span class="lineno"> 2648</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>T, <span class="keyword">typename</span></div><div class="line"><a name="l02649"></a><span class="lineno"> 2649</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02650"></a><span class="lineno"> 2650</span>&#160;                  std::is_convertible&lt;basic_json_t, typename T::value_type&gt;::value and</div><div class="line"><a name="l02651"></a><span class="lineno"> 2651</span>&#160;                  not std::is_same&lt;basic_json_t, typename T::value_type&gt;::value and</div><div class="line"><a name="l02652"></a><span class="lineno"> 2652</span>&#160;                  not std::is_arithmetic&lt;T&gt;::value and</div><div class="line"><a name="l02653"></a><span class="lineno"> 2653</span>&#160;                  not std::is_convertible&lt;std::string, T&gt;::value and</div><div class="line"><a name="l02654"></a><span class="lineno"> 2654</span>&#160;                  not has_mapped_type&lt;T&gt;::value</div><div class="line"><a name="l02655"></a><span class="lineno"> 2655</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02656"></a><span class="lineno"> 2656</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02657"></a><span class="lineno"> 2657</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02658"></a><span class="lineno"> 2658</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l02659"></a><span class="lineno"> 2659</span>&#160;        {</div><div class="line"><a name="l02660"></a><span class="lineno"> 2660</span>&#160;            T to_vector;</div><div class="line"><a name="l02661"></a><span class="lineno"> 2661</span>&#160;            std::transform(m_value.array-&gt;begin(), m_value.array-&gt;end(),</div><div class="line"><a name="l02662"></a><span class="lineno"> 2662</span>&#160;                           std::inserter(to_vector, to_vector.end()), [](<a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> i)</div><div class="line"><a name="l02663"></a><span class="lineno"> 2663</span>&#160;            {</div><div class="line"><a name="l02664"></a><span class="lineno"> 2664</span>&#160;                <span class="keywordflow">return</span> i.<a class="code" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a>&lt;<span class="keyword">typename</span> T::value_type&gt;();</div><div class="line"><a name="l02665"></a><span class="lineno"> 2665</span>&#160;            });</div><div class="line"><a name="l02666"></a><span class="lineno"> 2666</span>&#160;            <span class="keywordflow">return</span> to_vector;</div><div class="line"><a name="l02667"></a><span class="lineno"> 2667</span>&#160;        }</div><div class="line"><a name="l02668"></a><span class="lineno"> 2668</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02669"></a><span class="lineno"> 2669</span>&#160;        {</div><div class="line"><a name="l02670"></a><span class="lineno"> 2670</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be array, but is &quot;</span> + type_name());</div><div class="line"><a name="l02671"></a><span class="lineno"> 2671</span>&#160;        }</div><div class="line"><a name="l02672"></a><span class="lineno"> 2672</span>&#160;    }</div><div class="line"><a name="l02673"></a><span class="lineno"> 2673</span>&#160;</div><div class="line"><a name="l02675"></a><span class="lineno"> 2675</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>T, <span class="keyword">typename</span></div><div class="line"><a name="l02676"></a><span class="lineno"> 2676</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02677"></a><span class="lineno"> 2677</span>&#160;                  std::is_convertible&lt;basic_json_t, T&gt;::value and</div><div class="line"><a name="l02678"></a><span class="lineno"> 2678</span>&#160;                  not std::is_same&lt;basic_json_t, T&gt;::value</div><div class="line"><a name="l02679"></a><span class="lineno"> 2679</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02680"></a><span class="lineno"> 2680</span>&#160;    std::vector&lt;T&gt; get_impl(std::vector&lt;T&gt;*)<span class="keyword"> const</span></div><div class="line"><a name="l02681"></a><span class="lineno"> 2681</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02682"></a><span class="lineno"> 2682</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l02683"></a><span class="lineno"> 2683</span>&#160;        {</div><div class="line"><a name="l02684"></a><span class="lineno"> 2684</span>&#160;            std::vector&lt;T&gt; to_vector;</div><div class="line"><a name="l02685"></a><span class="lineno"> 2685</span>&#160;            to_vector.reserve(m_value.array-&gt;size());</div><div class="line"><a name="l02686"></a><span class="lineno"> 2686</span>&#160;            std::transform(m_value.array-&gt;begin(), m_value.array-&gt;end(),</div><div class="line"><a name="l02687"></a><span class="lineno"> 2687</span>&#160;                           std::inserter(to_vector, to_vector.end()), [](<a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> i)</div><div class="line"><a name="l02688"></a><span class="lineno"> 2688</span>&#160;            {</div><div class="line"><a name="l02689"></a><span class="lineno"> 2689</span>&#160;                <span class="keywordflow">return</span> i.<a class="code" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">get</a>&lt;T&gt;();</div><div class="line"><a name="l02690"></a><span class="lineno"> 2690</span>&#160;            });</div><div class="line"><a name="l02691"></a><span class="lineno"> 2691</span>&#160;            <span class="keywordflow">return</span> to_vector;</div><div class="line"><a name="l02692"></a><span class="lineno"> 2692</span>&#160;        }</div><div class="line"><a name="l02693"></a><span class="lineno"> 2693</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02694"></a><span class="lineno"> 2694</span>&#160;        {</div><div class="line"><a name="l02695"></a><span class="lineno"> 2695</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be array, but is &quot;</span> + type_name());</div><div class="line"><a name="l02696"></a><span class="lineno"> 2696</span>&#160;        }</div><div class="line"><a name="l02697"></a><span class="lineno"> 2697</span>&#160;    }</div><div class="line"><a name="l02698"></a><span class="lineno"> 2698</span>&#160;</div><div class="line"><a name="l02700"></a><span class="lineno"> 2700</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>T, <span class="keyword">typename</span></div><div class="line"><a name="l02701"></a><span class="lineno"> 2701</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02702"></a><span class="lineno"> 2702</span>&#160;                  std::is_same&lt;basic_json, typename T::value_type&gt;::value and</div><div class="line"><a name="l02703"></a><span class="lineno"> 2703</span>&#160;                  not has_mapped_type&lt;T&gt;::value</div><div class="line"><a name="l02704"></a><span class="lineno"> 2704</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02705"></a><span class="lineno"> 2705</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02706"></a><span class="lineno"> 2706</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02707"></a><span class="lineno"> 2707</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l02708"></a><span class="lineno"> 2708</span>&#160;        {</div><div class="line"><a name="l02709"></a><span class="lineno"> 2709</span>&#160;            <span class="keywordflow">return</span> T(m_value.array-&gt;begin(), m_value.array-&gt;end());</div><div class="line"><a name="l02710"></a><span class="lineno"> 2710</span>&#160;        }</div><div class="line"><a name="l02711"></a><span class="lineno"> 2711</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02712"></a><span class="lineno"> 2712</span>&#160;        {</div><div class="line"><a name="l02713"></a><span class="lineno"> 2713</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be array, but is &quot;</span> + type_name());</div><div class="line"><a name="l02714"></a><span class="lineno"> 2714</span>&#160;        }</div><div class="line"><a name="l02715"></a><span class="lineno"> 2715</span>&#160;    }</div><div class="line"><a name="l02716"></a><span class="lineno"> 2716</span>&#160;</div><div class="line"><a name="l02718"></a><span class="lineno"> 2718</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a> get_impl(<a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>*)<span class="keyword"> const</span></div><div class="line"><a name="l02719"></a><span class="lineno"> 2719</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02720"></a><span class="lineno"> 2720</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l02721"></a><span class="lineno"> 2721</span>&#160;        {</div><div class="line"><a name="l02722"></a><span class="lineno"> 2722</span>&#160;            <span class="keywordflow">return</span> *(m_value.array);</div><div class="line"><a name="l02723"></a><span class="lineno"> 2723</span>&#160;        }</div><div class="line"><a name="l02724"></a><span class="lineno"> 2724</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02725"></a><span class="lineno"> 2725</span>&#160;        {</div><div class="line"><a name="l02726"></a><span class="lineno"> 2726</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be array, but is &quot;</span> + type_name());</div><div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160;        }</div><div class="line"><a name="l02728"></a><span class="lineno"> 2728</span>&#160;    }</div><div class="line"><a name="l02729"></a><span class="lineno"> 2729</span>&#160;</div><div class="line"><a name="l02731"></a><span class="lineno"> 2731</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span></div><div class="line"><a name="l02732"></a><span class="lineno"> 2732</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l02733"></a><span class="lineno"> 2733</span>&#160;                  std::is_convertible&lt;string_t, T&gt;::value</div><div class="line"><a name="l02734"></a><span class="lineno"> 2734</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02735"></a><span class="lineno"> 2735</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02736"></a><span class="lineno"> 2736</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02737"></a><span class="lineno"> 2737</span>&#160;        <span class="keywordflow">if</span> (is_string())</div><div class="line"><a name="l02738"></a><span class="lineno"> 2738</span>&#160;        {</div><div class="line"><a name="l02739"></a><span class="lineno"> 2739</span>&#160;            <span class="keywordflow">return</span> *m_value.string;</div><div class="line"><a name="l02740"></a><span class="lineno"> 2740</span>&#160;        }</div><div class="line"><a name="l02741"></a><span class="lineno"> 2741</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02742"></a><span class="lineno"> 2742</span>&#160;        {</div><div class="line"><a name="l02743"></a><span class="lineno"> 2743</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be string, but is &quot;</span> + type_name());</div><div class="line"><a name="l02744"></a><span class="lineno"> 2744</span>&#160;        }</div><div class="line"><a name="l02745"></a><span class="lineno"> 2745</span>&#160;    }</div><div class="line"><a name="l02746"></a><span class="lineno"> 2746</span>&#160;</div><div class="line"><a name="l02748"></a><span class="lineno"> 2748</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span></div><div class="line"><a name="l02749"></a><span class="lineno"> 2749</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02750"></a><span class="lineno"> 2750</span>&#160;                 std::is_arithmetic&lt;T&gt;::value</div><div class="line"><a name="l02751"></a><span class="lineno"> 2751</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02752"></a><span class="lineno"> 2752</span>&#160;    T get_impl(T*)<span class="keyword"> const</span></div><div class="line"><a name="l02753"></a><span class="lineno"> 2753</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02754"></a><span class="lineno"> 2754</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l02755"></a><span class="lineno"> 2755</span>&#160;        {</div><div class="line"><a name="l02756"></a><span class="lineno"> 2756</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l02757"></a><span class="lineno"> 2757</span>&#160;            {</div><div class="line"><a name="l02758"></a><span class="lineno"> 2758</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(m_value.number_integer);</div><div class="line"><a name="l02759"></a><span class="lineno"> 2759</span>&#160;            }</div><div class="line"><a name="l02760"></a><span class="lineno"> 2760</span>&#160;</div><div class="line"><a name="l02761"></a><span class="lineno"> 2761</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l02762"></a><span class="lineno"> 2762</span>&#160;            {</div><div class="line"><a name="l02763"></a><span class="lineno"> 2763</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(m_value.number_unsigned);</div><div class="line"><a name="l02764"></a><span class="lineno"> 2764</span>&#160;            }</div><div class="line"><a name="l02765"></a><span class="lineno"> 2765</span>&#160;</div><div class="line"><a name="l02766"></a><span class="lineno"> 2766</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l02767"></a><span class="lineno"> 2767</span>&#160;            {</div><div class="line"><a name="l02768"></a><span class="lineno"> 2768</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(m_value.number_float);</div><div class="line"><a name="l02769"></a><span class="lineno"> 2769</span>&#160;            }</div><div class="line"><a name="l02770"></a><span class="lineno"> 2770</span>&#160;</div><div class="line"><a name="l02771"></a><span class="lineno"> 2771</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l02772"></a><span class="lineno"> 2772</span>&#160;            {</div><div class="line"><a name="l02773"></a><span class="lineno"> 2773</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be number, but is &quot;</span> + type_name());</div><div class="line"><a name="l02774"></a><span class="lineno"> 2774</span>&#160;            }</div><div class="line"><a name="l02775"></a><span class="lineno"> 2775</span>&#160;        }</div><div class="line"><a name="l02776"></a><span class="lineno"> 2776</span>&#160;    }</div><div class="line"><a name="l02777"></a><span class="lineno"> 2777</span>&#160;</div><div class="line"><a name="l02779"></a><span class="lineno"> 2779</span>&#160;    constexpr <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a> get_impl(<a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>*)<span class="keyword"> const</span></div><div class="line"><a name="l02780"></a><span class="lineno"> 2780</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l02781"></a><span class="lineno"> 2781</span>&#160;        <span class="keywordflow">return</span> is_boolean()</div><div class="line"><a name="l02782"></a><span class="lineno"> 2782</span>&#160;               ? m_value.boolean</div><div class="line"><a name="l02783"></a><span class="lineno"> 2783</span>&#160;               : <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;type must be boolean, but is &quot;</span> + type_name());</div><div class="line"><a name="l02784"></a><span class="lineno"> 2784</span>&#160;    }</div><div class="line"><a name="l02785"></a><span class="lineno"> 2785</span>&#160;</div><div class="line"><a name="l02787"></a><span class="lineno"> 2787</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>*) noexcept</div><div class="line"><a name="l02788"></a><span class="lineno"> 2788</span>&#160;    {</div><div class="line"><a name="l02789"></a><span class="lineno"> 2789</span>&#160;        <span class="keywordflow">return</span> is_object() ? m_value.object : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02790"></a><span class="lineno"> 2790</span>&#160;    }</div><div class="line"><a name="l02791"></a><span class="lineno"> 2791</span>&#160;</div><div class="line"><a name="l02793"></a><span class="lineno"> 2793</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02794"></a><span class="lineno"> 2794</span>&#160;    {</div><div class="line"><a name="l02795"></a><span class="lineno"> 2795</span>&#160;        <span class="keywordflow">return</span> is_object() ? m_value.object : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02796"></a><span class="lineno"> 2796</span>&#160;    }</div><div class="line"><a name="l02797"></a><span class="lineno"> 2797</span>&#160;</div><div class="line"><a name="l02799"></a><span class="lineno"> 2799</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>*) noexcept</div><div class="line"><a name="l02800"></a><span class="lineno"> 2800</span>&#160;    {</div><div class="line"><a name="l02801"></a><span class="lineno"> 2801</span>&#160;        <span class="keywordflow">return</span> is_array() ? m_value.array : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02802"></a><span class="lineno"> 2802</span>&#160;    }</div><div class="line"><a name="l02803"></a><span class="lineno"> 2803</span>&#160;</div><div class="line"><a name="l02805"></a><span class="lineno"> 2805</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02806"></a><span class="lineno"> 2806</span>&#160;    {</div><div class="line"><a name="l02807"></a><span class="lineno"> 2807</span>&#160;        <span class="keywordflow">return</span> is_array() ? m_value.array : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02808"></a><span class="lineno"> 2808</span>&#160;    }</div><div class="line"><a name="l02809"></a><span class="lineno"> 2809</span>&#160;</div><div class="line"><a name="l02811"></a><span class="lineno"> 2811</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>*) noexcept</div><div class="line"><a name="l02812"></a><span class="lineno"> 2812</span>&#160;    {</div><div class="line"><a name="l02813"></a><span class="lineno"> 2813</span>&#160;        <span class="keywordflow">return</span> is_string() ? m_value.string : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02814"></a><span class="lineno"> 2814</span>&#160;    }</div><div class="line"><a name="l02815"></a><span class="lineno"> 2815</span>&#160;</div><div class="line"><a name="l02817"></a><span class="lineno"> 2817</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02818"></a><span class="lineno"> 2818</span>&#160;    {</div><div class="line"><a name="l02819"></a><span class="lineno"> 2819</span>&#160;        <span class="keywordflow">return</span> is_string() ? m_value.string : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02820"></a><span class="lineno"> 2820</span>&#160;    }</div><div class="line"><a name="l02821"></a><span class="lineno"> 2821</span>&#160;</div><div class="line"><a name="l02823"></a><span class="lineno"> 2823</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>*) noexcept</div><div class="line"><a name="l02824"></a><span class="lineno"> 2824</span>&#160;    {</div><div class="line"><a name="l02825"></a><span class="lineno"> 2825</span>&#160;        <span class="keywordflow">return</span> is_boolean() ? &amp;m_value.boolean : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02826"></a><span class="lineno"> 2826</span>&#160;    }</div><div class="line"><a name="l02827"></a><span class="lineno"> 2827</span>&#160;</div><div class="line"><a name="l02829"></a><span class="lineno"> 2829</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">boolean_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02830"></a><span class="lineno"> 2830</span>&#160;    {</div><div class="line"><a name="l02831"></a><span class="lineno"> 2831</span>&#160;        <span class="keywordflow">return</span> is_boolean() ? &amp;m_value.boolean : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02832"></a><span class="lineno"> 2832</span>&#160;    }</div><div class="line"><a name="l02833"></a><span class="lineno"> 2833</span>&#160;</div><div class="line"><a name="l02835"></a><span class="lineno"> 2835</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>*) noexcept</div><div class="line"><a name="l02836"></a><span class="lineno"> 2836</span>&#160;    {</div><div class="line"><a name="l02837"></a><span class="lineno"> 2837</span>&#160;        <span class="keywordflow">return</span> is_number_integer() ? &amp;m_value.number_integer : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02838"></a><span class="lineno"> 2838</span>&#160;    }</div><div class="line"><a name="l02839"></a><span class="lineno"> 2839</span>&#160;</div><div class="line"><a name="l02841"></a><span class="lineno"> 2841</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02842"></a><span class="lineno"> 2842</span>&#160;    {</div><div class="line"><a name="l02843"></a><span class="lineno"> 2843</span>&#160;        <span class="keywordflow">return</span> is_number_integer() ? &amp;m_value.number_integer : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02844"></a><span class="lineno"> 2844</span>&#160;    }</div><div class="line"><a name="l02845"></a><span class="lineno"> 2845</span>&#160;</div><div class="line"><a name="l02847"></a><span class="lineno"> 2847</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>*) noexcept</div><div class="line"><a name="l02848"></a><span class="lineno"> 2848</span>&#160;    {</div><div class="line"><a name="l02849"></a><span class="lineno"> 2849</span>&#160;        <span class="keywordflow">return</span> is_number_unsigned() ? &amp;m_value.number_unsigned : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02850"></a><span class="lineno"> 2850</span>&#160;    }</div><div class="line"><a name="l02851"></a><span class="lineno"> 2851</span>&#160;</div><div class="line"><a name="l02853"></a><span class="lineno"> 2853</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02854"></a><span class="lineno"> 2854</span>&#160;    {</div><div class="line"><a name="l02855"></a><span class="lineno"> 2855</span>&#160;        <span class="keywordflow">return</span> is_number_unsigned() ? &amp;m_value.number_unsigned : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02856"></a><span class="lineno"> 2856</span>&#160;    }</div><div class="line"><a name="l02857"></a><span class="lineno"> 2857</span>&#160;</div><div class="line"><a name="l02859"></a><span class="lineno"> 2859</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>* get_impl_ptr(<a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>*) noexcept</div><div class="line"><a name="l02860"></a><span class="lineno"> 2860</span>&#160;    {</div><div class="line"><a name="l02861"></a><span class="lineno"> 2861</span>&#160;        <span class="keywordflow">return</span> is_number_float() ? &amp;m_value.number_float : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02862"></a><span class="lineno"> 2862</span>&#160;    }</div><div class="line"><a name="l02863"></a><span class="lineno"> 2863</span>&#160;</div><div class="line"><a name="l02865"></a><span class="lineno"> 2865</span>&#160;    constexpr <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>* get_impl_ptr(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a>*) <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02866"></a><span class="lineno"> 2866</span>&#160;    {</div><div class="line"><a name="l02867"></a><span class="lineno"> 2867</span>&#160;        <span class="keywordflow">return</span> is_number_float() ? &amp;m_value.number_float : <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02868"></a><span class="lineno"> 2868</span>&#160;    }</div><div class="line"><a name="l02869"></a><span class="lineno"> 2869</span>&#160;</div><div class="line"><a name="l02881"></a><span class="lineno"> 2881</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ReferenceType, <span class="keyword">typename</span> ThisType&gt;</div><div class="line"><a name="l02882"></a><span class="lineno"> 2882</span>&#160;    <span class="keyword">static</span> ReferenceType get_ref_impl(ThisType&amp; obj)</div><div class="line"><a name="l02883"></a><span class="lineno"> 2883</span>&#160;    {</div><div class="line"><a name="l02884"></a><span class="lineno"> 2884</span>&#160;        <span class="comment">// helper type</span></div><div class="line"><a name="l02885"></a><span class="lineno"> 2885</span>&#160;        <span class="keyword">using</span> PointerType = <span class="keyword">typename</span> std::add_pointer&lt;ReferenceType&gt;::type;</div><div class="line"><a name="l02886"></a><span class="lineno"> 2886</span>&#160;</div><div class="line"><a name="l02887"></a><span class="lineno"> 2887</span>&#160;        <span class="comment">// delegate the call to get_ptr&lt;&gt;()</span></div><div class="line"><a name="l02888"></a><span class="lineno"> 2888</span>&#160;        <span class="keyword">auto</span> ptr = obj.template get_ptr&lt;PointerType&gt;();</div><div class="line"><a name="l02889"></a><span class="lineno"> 2889</span>&#160;</div><div class="line"><a name="l02890"></a><span class="lineno"> 2890</span>&#160;        <span class="keywordflow">if</span> (ptr != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l02891"></a><span class="lineno"> 2891</span>&#160;        {</div><div class="line"><a name="l02892"></a><span class="lineno"> 2892</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l02893"></a><span class="lineno"> 2893</span>&#160;        }</div><div class="line"><a name="l02894"></a><span class="lineno"> 2894</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l02895"></a><span class="lineno"> 2895</span>&#160;        {</div><div class="line"><a name="l02896"></a><span class="lineno"> 2896</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;incompatible ReferenceType for get_ref, actual type is &quot;</span> +</div><div class="line"><a name="l02897"></a><span class="lineno"> 2897</span>&#160;                                    obj.type_name());</div><div class="line"><a name="l02898"></a><span class="lineno"> 2898</span>&#160;        }</div><div class="line"><a name="l02899"></a><span class="lineno"> 2899</span>&#160;    }</div><div class="line"><a name="l02900"></a><span class="lineno"> 2900</span>&#160;</div><div class="line"><a name="l02901"></a><span class="lineno"> 2901</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l02902"></a><span class="lineno"> 2902</span>&#160;</div><div class="line"><a name="l02906"></a><span class="lineno"> 2906</span>&#160;</div><div class="line"><a name="l02940"></a><span class="lineno"> 2940</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ValueType, <span class="keyword">typename</span></div><div class="line"><a name="l02941"></a><span class="lineno"> 2941</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02942"></a><span class="lineno"> 2942</span>&#160;                 not std::is_pointer&lt;ValueType&gt;::value</div><div class="line"><a name="l02943"></a><span class="lineno"> 2943</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02944"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437"> 2944</a></span>&#160;    ValueType <span class="keyword">get</span>() <span class="keyword">const</span></div><div class="line"><a name="l02945"></a><span class="lineno"> 2945</span>&#160;    {</div><div class="line"><a name="l02946"></a><span class="lineno"> 2946</span>&#160;        <span class="keywordflow">return</span> get_impl(static_cast&lt;ValueType*&gt;(<span class="keyword">nullptr</span>));</div><div class="line"><a name="l02947"></a><span class="lineno"> 2947</span>&#160;    }</div><div class="line"><a name="l02948"></a><span class="lineno"> 2948</span>&#160;</div><div class="line"><a name="l02976"></a><span class="lineno"> 2976</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PointerType, <span class="keyword">typename</span></div><div class="line"><a name="l02977"></a><span class="lineno"> 2977</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02978"></a><span class="lineno"> 2978</span>&#160;                 std::is_pointer&lt;PointerType&gt;::value</div><div class="line"><a name="l02979"></a><span class="lineno"> 2979</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02980"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ac5693cff1df0775cd3fbe960412cde4b.html#ac5693cff1df0775cd3fbe960412cde4b"> 2980</a></span>&#160;    PointerType <span class="keyword">get</span>() noexcept</div><div class="line"><a name="l02981"></a><span class="lineno"> 2981</span>&#160;    {</div><div class="line"><a name="l02982"></a><span class="lineno"> 2982</span>&#160;        <span class="comment">// delegate the call to get_ptr</span></div><div class="line"><a name="l02983"></a><span class="lineno"> 2983</span>&#160;        <span class="keywordflow">return</span> get_ptr&lt;PointerType&gt;();</div><div class="line"><a name="l02984"></a><span class="lineno"> 2984</span>&#160;    }</div><div class="line"><a name="l02985"></a><span class="lineno"> 2985</span>&#160;</div><div class="line"><a name="l02990"></a><span class="lineno"> 2990</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PointerType, <span class="keyword">typename</span></div><div class="line"><a name="l02991"></a><span class="lineno"> 2991</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l02992"></a><span class="lineno"> 2992</span>&#160;                 std::is_pointer&lt;PointerType&gt;::value</div><div class="line"><a name="l02993"></a><span class="lineno"> 2993</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l02994"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a363da77bc39cae041d59ee334ac4f41b.html#a363da77bc39cae041d59ee334ac4f41b"> 2994</a></span>&#160;    constexpr <span class="keyword">const</span> PointerType <span class="keyword">get</span>() <span class="keyword">const</span> noexcept</div><div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>&#160;    {</div><div class="line"><a name="l02996"></a><span class="lineno"> 2996</span>&#160;        <span class="comment">// delegate the call to get_ptr</span></div><div class="line"><a name="l02997"></a><span class="lineno"> 2997</span>&#160;        <span class="keywordflow">return</span> get_ptr&lt;PointerType&gt;();</div><div class="line"><a name="l02998"></a><span class="lineno"> 2998</span>&#160;    }</div><div class="line"><a name="l02999"></a><span class="lineno"> 2999</span>&#160;</div><div class="line"><a name="l03026"></a><span class="lineno"> 3026</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PointerType, <span class="keyword">typename</span></div><div class="line"><a name="l03027"></a><span class="lineno"> 3027</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l03028"></a><span class="lineno"> 3028</span>&#160;                 std::is_pointer&lt;PointerType&gt;::value</div><div class="line"><a name="l03029"></a><span class="lineno"> 3029</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l03030"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445"> 3030</a></span>&#160;    PointerType <a class="code" href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">get_ptr</a>() noexcept</div><div class="line"><a name="l03031"></a><span class="lineno"> 3031</span>&#160;    {</div><div class="line"><a name="l03032"></a><span class="lineno"> 3032</span>&#160;        <span class="comment">// get the type of the PointerType (remove pointer and const)</span></div><div class="line"><a name="l03033"></a><span class="lineno"> 3033</span>&#160;        <span class="keyword">using</span> pointee_t = <span class="keyword">typename</span> std::remove_const&lt;<span class="keyword">typename</span></div><div class="line"><a name="l03034"></a><span class="lineno"> 3034</span>&#160;                          std::remove_pointer&lt;<span class="keyword">typename</span></div><div class="line"><a name="l03035"></a><span class="lineno"> 3035</span>&#160;                          std::remove_const&lt;PointerType&gt;::type&gt;::type&gt;::type;</div><div class="line"><a name="l03036"></a><span class="lineno"> 3036</span>&#160;        <span class="comment">// make sure the type matches the allowed types</span></div><div class="line"><a name="l03037"></a><span class="lineno"> 3037</span>&#160;        static_assert(</div><div class="line"><a name="l03038"></a><span class="lineno"> 3038</span>&#160;            std::is_same&lt;object_t, pointee_t&gt;::value</div><div class="line"><a name="l03039"></a><span class="lineno"> 3039</span>&#160;            or std::is_same&lt;array_t, pointee_t&gt;::value</div><div class="line"><a name="l03040"></a><span class="lineno"> 3040</span>&#160;            or std::is_same&lt;string_t, pointee_t&gt;::value</div><div class="line"><a name="l03041"></a><span class="lineno"> 3041</span>&#160;            or std::is_same&lt;boolean_t, pointee_t&gt;::value</div><div class="line"><a name="l03042"></a><span class="lineno"> 3042</span>&#160;            or std::is_same&lt;number_integer_t, pointee_t&gt;::value</div><div class="line"><a name="l03043"></a><span class="lineno"> 3043</span>&#160;            or std::is_same&lt;number_unsigned_t, pointee_t&gt;::value</div><div class="line"><a name="l03044"></a><span class="lineno"> 3044</span>&#160;            or std::is_same&lt;number_float_t, pointee_t&gt;::value</div><div class="line"><a name="l03045"></a><span class="lineno"> 3045</span>&#160;            , <span class="stringliteral">&quot;incompatible pointer type&quot;</span>);</div><div class="line"><a name="l03046"></a><span class="lineno"> 3046</span>&#160;</div><div class="line"><a name="l03047"></a><span class="lineno"> 3047</span>&#160;        <span class="comment">// delegate the call to get_impl_ptr&lt;&gt;()</span></div><div class="line"><a name="l03048"></a><span class="lineno"> 3048</span>&#160;        <span class="keywordflow">return</span> get_impl_ptr(static_cast&lt;PointerType&gt;(<span class="keyword">nullptr</span>));</div><div class="line"><a name="l03049"></a><span class="lineno"> 3049</span>&#160;    }</div><div class="line"><a name="l03050"></a><span class="lineno"> 3050</span>&#160;</div><div class="line"><a name="l03055"></a><span class="lineno"> 3055</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> PointerType, <span class="keyword">typename</span></div><div class="line"><a name="l03056"></a><span class="lineno"> 3056</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l03057"></a><span class="lineno"> 3057</span>&#160;                 std::is_pointer&lt;PointerType&gt;::value</div><div class="line"><a name="l03058"></a><span class="lineno"> 3058</span>&#160;                 and std::is_const&lt;typename std::remove_pointer&lt;PointerType&gt;::type&gt;::value</div><div class="line"><a name="l03059"></a><span class="lineno"> 3059</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l03060"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda"> 3060</a></span>&#160;    constexpr <span class="keyword">const</span> PointerType <a class="code" href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">get_ptr</a>() const noexcept</div><div class="line"><a name="l03061"></a><span class="lineno"> 3061</span>&#160;    {</div><div class="line"><a name="l03062"></a><span class="lineno"> 3062</span>&#160;        <span class="comment">// get the type of the PointerType (remove pointer and const)</span></div><div class="line"><a name="l03063"></a><span class="lineno"> 3063</span>&#160;        <span class="keyword">using</span> pointee_t = <span class="keyword">typename</span> std::remove_const&lt;<span class="keyword">typename</span></div><div class="line"><a name="l03064"></a><span class="lineno"> 3064</span>&#160;                          std::remove_pointer&lt;<span class="keyword">typename</span></div><div class="line"><a name="l03065"></a><span class="lineno"> 3065</span>&#160;                          std::remove_const&lt;PointerType&gt;::type&gt;::type&gt;::type;</div><div class="line"><a name="l03066"></a><span class="lineno"> 3066</span>&#160;        <span class="comment">// make sure the type matches the allowed types</span></div><div class="line"><a name="l03067"></a><span class="lineno"> 3067</span>&#160;        static_assert(</div><div class="line"><a name="l03068"></a><span class="lineno"> 3068</span>&#160;            std::is_same&lt;object_t, pointee_t&gt;::value</div><div class="line"><a name="l03069"></a><span class="lineno"> 3069</span>&#160;            or std::is_same&lt;array_t, pointee_t&gt;::value</div><div class="line"><a name="l03070"></a><span class="lineno"> 3070</span>&#160;            or std::is_same&lt;string_t, pointee_t&gt;::value</div><div class="line"><a name="l03071"></a><span class="lineno"> 3071</span>&#160;            or std::is_same&lt;boolean_t, pointee_t&gt;::value</div><div class="line"><a name="l03072"></a><span class="lineno"> 3072</span>&#160;            or std::is_same&lt;number_integer_t, pointee_t&gt;::value</div><div class="line"><a name="l03073"></a><span class="lineno"> 3073</span>&#160;            or std::is_same&lt;number_unsigned_t, pointee_t&gt;::value</div><div class="line"><a name="l03074"></a><span class="lineno"> 3074</span>&#160;            or std::is_same&lt;number_float_t, pointee_t&gt;::value</div><div class="line"><a name="l03075"></a><span class="lineno"> 3075</span>&#160;            , <span class="stringliteral">&quot;incompatible pointer type&quot;</span>);</div><div class="line"><a name="l03076"></a><span class="lineno"> 3076</span>&#160;</div><div class="line"><a name="l03077"></a><span class="lineno"> 3077</span>&#160;        <span class="comment">// delegate the call to get_impl_ptr&lt;&gt;() const</span></div><div class="line"><a name="l03078"></a><span class="lineno"> 3078</span>&#160;        <span class="keywordflow">return</span> get_impl_ptr(static_cast&lt;const PointerType&gt;(<span class="keyword">nullptr</span>));</div><div class="line"><a name="l03079"></a><span class="lineno"> 3079</span>&#160;    }</div><div class="line"><a name="l03080"></a><span class="lineno"> 3080</span>&#160;</div><div class="line"><a name="l03107"></a><span class="lineno"> 3107</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ReferenceType, <span class="keyword">typename</span></div><div class="line"><a name="l03108"></a><span class="lineno"> 3108</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l03109"></a><span class="lineno"> 3109</span>&#160;                 std::is_reference&lt;ReferenceType&gt;::value</div><div class="line"><a name="l03110"></a><span class="lineno"> 3110</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l03111"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9"> 3111</a></span>&#160;    ReferenceType <a class="code" href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">get_ref</a>()</div><div class="line"><a name="l03112"></a><span class="lineno"> 3112</span>&#160;    {</div><div class="line"><a name="l03113"></a><span class="lineno"> 3113</span>&#160;        <span class="comment">// delegate call to get_ref_impl</span></div><div class="line"><a name="l03114"></a><span class="lineno"> 3114</span>&#160;        <span class="keywordflow">return</span> get_ref_impl&lt;ReferenceType&gt;(*this);</div><div class="line"><a name="l03115"></a><span class="lineno"> 3115</span>&#160;    }</div><div class="line"><a name="l03116"></a><span class="lineno"> 3116</span>&#160;</div><div class="line"><a name="l03121"></a><span class="lineno"> 3121</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ReferenceType, <span class="keyword">typename</span></div><div class="line"><a name="l03122"></a><span class="lineno"> 3122</span>&#160;             std::enable_if&lt;</div><div class="line"><a name="l03123"></a><span class="lineno"> 3123</span>&#160;                 std::is_reference&lt;ReferenceType&gt;::value</div><div class="line"><a name="l03124"></a><span class="lineno"> 3124</span>&#160;                 and std::is_const&lt;typename std::remove_reference&lt;ReferenceType&gt;::type&gt;::value</div><div class="line"><a name="l03125"></a><span class="lineno"> 3125</span>&#160;                 , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l03126"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b"> 3126</a></span>&#160;    ReferenceType <a class="code" href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">get_ref</a>()<span class="keyword"> const</span></div><div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>&#160;        <span class="comment">// delegate call to get_ref_impl</span></div><div class="line"><a name="l03129"></a><span class="lineno"> 3129</span>&#160;        <span class="keywordflow">return</span> get_ref_impl&lt;ReferenceType&gt;(*this);</div><div class="line"><a name="l03130"></a><span class="lineno"> 3130</span>&#160;    }</div><div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>&#160;</div><div class="line"><a name="l03160"></a><span class="lineno"> 3160</span>&#160;    <span class="keyword">template</span> &lt; <span class="keyword">typename</span> ValueType, <span class="keyword">typename</span></div><div class="line"><a name="l03161"></a><span class="lineno"> 3161</span>&#160;               std::enable_if &lt;</div><div class="line"><a name="l03162"></a><span class="lineno"> 3162</span>&#160;                   not std::is_pointer&lt;ValueType&gt;::value</div><div class="line"><a name="l03163"></a><span class="lineno"> 3163</span>&#160;                   and not std::is_same&lt;ValueType, typename string_t::value_type&gt;::value</div><div class="line"><a name="l03164"></a><span class="lineno"> 3164</span>&#160;<span class="preprocessor">#ifndef _MSC_VER  // Fix for issue #167 operator&lt;&lt; abiguity under VS2015</span></div><div class="line"><a name="l03165"></a><span class="lineno"> 3165</span>&#160;                   and not std::is_same&lt;ValueType, std::initializer_list&lt;typename string_t::value_type&gt;&gt;::value</div><div class="line"><a name="l03166"></a><span class="lineno"> 3166</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l03167"></a><span class="lineno"> 3167</span>&#160;                   , <span class="keywordtype">int</span> &gt;::type = 0 &gt;</div><div class="line"><a name="l03168"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aef496a56163710084e13612ab73e6ed2.html#aef496a56163710084e13612ab73e6ed2"> 3168</a></span>&#160;    <span class="keyword">operator</span> ValueType()<span class="keyword"> const</span></div><div class="line"><a name="l03169"></a><span class="lineno"> 3169</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03170"></a><span class="lineno"> 3170</span>&#160;        <span class="comment">// delegate the call to get&lt;&gt;() const</span></div><div class="line"><a name="l03171"></a><span class="lineno"> 3171</span>&#160;        <span class="keywordflow">return</span> get&lt;ValueType&gt;();</div><div class="line"><a name="l03172"></a><span class="lineno"> 3172</span>&#160;    }</div><div class="line"><a name="l03173"></a><span class="lineno"> 3173</span>&#160;</div><div class="line"><a name="l03175"></a><span class="lineno"> 3175</span>&#160;</div><div class="line"><a name="l03176"></a><span class="lineno"> 3176</span>&#160;</div><div class="line"><a name="l03178"></a><span class="lineno"> 3178</span>&#160;    <span class="comment">// element access //</span></div><div class="line"><a name="l03180"></a><span class="lineno"> 3180</span>&#160;<span class="comment"></span></div><div class="line"><a name="l03184"></a><span class="lineno"> 3184</span>&#160;</div><div class="line"><a name="l03207"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9"> 3207</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)</div><div class="line"><a name="l03208"></a><span class="lineno"> 3208</span>&#160;    {</div><div class="line"><a name="l03209"></a><span class="lineno"> 3209</span>&#160;        <span class="comment">// at only works for arrays</span></div><div class="line"><a name="l03210"></a><span class="lineno"> 3210</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l03211"></a><span class="lineno"> 3211</span>&#160;        {</div><div class="line"><a name="l03212"></a><span class="lineno"> 3212</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l03213"></a><span class="lineno"> 3213</span>&#160;            {</div><div class="line"><a name="l03214"></a><span class="lineno"> 3214</span>&#160;                <span class="keywordflow">return</span> m_value.<a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a>-&gt;<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(idx);</div><div class="line"><a name="l03215"></a><span class="lineno"> 3215</span>&#160;            }</div><div class="line"><a name="l03216"></a><span class="lineno"> 3216</span>&#160;            <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l03217"></a><span class="lineno"> 3217</span>&#160;            {</div><div class="line"><a name="l03218"></a><span class="lineno"> 3218</span>&#160;                <span class="comment">// create better exception explanation</span></div><div class="line"><a name="l03219"></a><span class="lineno"> 3219</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &quot;</span> + std::to_string(idx) + <span class="stringliteral">&quot; is out of range&quot;</span>);</div><div class="line"><a name="l03220"></a><span class="lineno"> 3220</span>&#160;            }</div><div class="line"><a name="l03221"></a><span class="lineno"> 3221</span>&#160;        }</div><div class="line"><a name="l03222"></a><span class="lineno"> 3222</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03223"></a><span class="lineno"> 3223</span>&#160;        {</div><div class="line"><a name="l03224"></a><span class="lineno"> 3224</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use at() with &quot;</span> + type_name());</div><div class="line"><a name="l03225"></a><span class="lineno"> 3225</span>&#160;        }</div><div class="line"><a name="l03226"></a><span class="lineno"> 3226</span>&#160;    }</div><div class="line"><a name="l03227"></a><span class="lineno"> 3227</span>&#160;</div><div class="line"><a name="l03250"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be"> 3250</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">at</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)<span class="keyword"> const</span></div><div class="line"><a name="l03251"></a><span class="lineno"> 3251</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03252"></a><span class="lineno"> 3252</span>&#160;        <span class="comment">// at only works for arrays</span></div><div class="line"><a name="l03253"></a><span class="lineno"> 3253</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l03254"></a><span class="lineno"> 3254</span>&#160;        {</div><div class="line"><a name="l03255"></a><span class="lineno"> 3255</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l03256"></a><span class="lineno"> 3256</span>&#160;            {</div><div class="line"><a name="l03257"></a><span class="lineno"> 3257</span>&#160;                <span class="keywordflow">return</span> m_value.<a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a>-&gt;<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(idx);</div><div class="line"><a name="l03258"></a><span class="lineno"> 3258</span>&#160;            }</div><div class="line"><a name="l03259"></a><span class="lineno"> 3259</span>&#160;            <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l03260"></a><span class="lineno"> 3260</span>&#160;            {</div><div class="line"><a name="l03261"></a><span class="lineno"> 3261</span>&#160;                <span class="comment">// create better exception explanation</span></div><div class="line"><a name="l03262"></a><span class="lineno"> 3262</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &quot;</span> + std::to_string(idx) + <span class="stringliteral">&quot; is out of range&quot;</span>);</div><div class="line"><a name="l03263"></a><span class="lineno"> 3263</span>&#160;            }</div><div class="line"><a name="l03264"></a><span class="lineno"> 3264</span>&#160;        }</div><div class="line"><a name="l03265"></a><span class="lineno"> 3265</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03266"></a><span class="lineno"> 3266</span>&#160;        {</div><div class="line"><a name="l03267"></a><span class="lineno"> 3267</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use at() with &quot;</span> + type_name());</div><div class="line"><a name="l03268"></a><span class="lineno"> 3268</span>&#160;        }</div><div class="line"><a name="l03269"></a><span class="lineno"> 3269</span>&#160;    }</div><div class="line"><a name="l03270"></a><span class="lineno"> 3270</span>&#160;</div><div class="line"><a name="l03297"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074"> 3297</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">at</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)</div><div class="line"><a name="l03298"></a><span class="lineno"> 3298</span>&#160;    {</div><div class="line"><a name="l03299"></a><span class="lineno"> 3299</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03300"></a><span class="lineno"> 3300</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03301"></a><span class="lineno"> 3301</span>&#160;        {</div><div class="line"><a name="l03302"></a><span class="lineno"> 3302</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l03303"></a><span class="lineno"> 3303</span>&#160;            {</div><div class="line"><a name="l03304"></a><span class="lineno"> 3304</span>&#160;                <span class="keywordflow">return</span> m_value.<a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a>-&gt;<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(key);</div><div class="line"><a name="l03305"></a><span class="lineno"> 3305</span>&#160;            }</div><div class="line"><a name="l03306"></a><span class="lineno"> 3306</span>&#160;            <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l03307"></a><span class="lineno"> 3307</span>&#160;            {</div><div class="line"><a name="l03308"></a><span class="lineno"> 3308</span>&#160;                <span class="comment">// create better exception explanation</span></div><div class="line"><a name="l03309"></a><span class="lineno"> 3309</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;key &#39;&quot;</span> + key + <span class="stringliteral">&quot;&#39; not found&quot;</span>);</div><div class="line"><a name="l03310"></a><span class="lineno"> 3310</span>&#160;            }</div><div class="line"><a name="l03311"></a><span class="lineno"> 3311</span>&#160;        }</div><div class="line"><a name="l03312"></a><span class="lineno"> 3312</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03313"></a><span class="lineno"> 3313</span>&#160;        {</div><div class="line"><a name="l03314"></a><span class="lineno"> 3314</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use at() with &quot;</span> + type_name());</div><div class="line"><a name="l03315"></a><span class="lineno"> 3315</span>&#160;        }</div><div class="line"><a name="l03316"></a><span class="lineno"> 3316</span>&#160;    }</div><div class="line"><a name="l03317"></a><span class="lineno"> 3317</span>&#160;</div><div class="line"><a name="l03344"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726"> 3344</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">at</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)<span class="keyword"> const</span></div><div class="line"><a name="l03345"></a><span class="lineno"> 3345</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03346"></a><span class="lineno"> 3346</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03347"></a><span class="lineno"> 3347</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03348"></a><span class="lineno"> 3348</span>&#160;        {</div><div class="line"><a name="l03349"></a><span class="lineno"> 3349</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l03350"></a><span class="lineno"> 3350</span>&#160;            {</div><div class="line"><a name="l03351"></a><span class="lineno"> 3351</span>&#160;                <span class="keywordflow">return</span> m_value.<a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a>-&gt;<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(key);</div><div class="line"><a name="l03352"></a><span class="lineno"> 3352</span>&#160;            }</div><div class="line"><a name="l03353"></a><span class="lineno"> 3353</span>&#160;            <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l03354"></a><span class="lineno"> 3354</span>&#160;            {</div><div class="line"><a name="l03355"></a><span class="lineno"> 3355</span>&#160;                <span class="comment">// create better exception explanation</span></div><div class="line"><a name="l03356"></a><span class="lineno"> 3356</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;key &#39;&quot;</span> + key + <span class="stringliteral">&quot;&#39; not found&quot;</span>);</div><div class="line"><a name="l03357"></a><span class="lineno"> 3357</span>&#160;            }</div><div class="line"><a name="l03358"></a><span class="lineno"> 3358</span>&#160;        }</div><div class="line"><a name="l03359"></a><span class="lineno"> 3359</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03360"></a><span class="lineno"> 3360</span>&#160;        {</div><div class="line"><a name="l03361"></a><span class="lineno"> 3361</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use at() with &quot;</span> + type_name());</div><div class="line"><a name="l03362"></a><span class="lineno"> 3362</span>&#160;        }</div><div class="line"><a name="l03363"></a><span class="lineno"> 3363</span>&#160;    }</div><div class="line"><a name="l03364"></a><span class="lineno"> 3364</span>&#160;</div><div class="line"><a name="l03390"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159"> 3390</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)</div><div class="line"><a name="l03391"></a><span class="lineno"> 3391</span>&#160;    {</div><div class="line"><a name="l03392"></a><span class="lineno"> 3392</span>&#160;        <span class="comment">// implicitly convert null value to an empty array</span></div><div class="line"><a name="l03393"></a><span class="lineno"> 3393</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l03394"></a><span class="lineno"> 3394</span>&#160;        {</div><div class="line"><a name="l03395"></a><span class="lineno"> 3395</span>&#160;            m_type = value_t::array;</div><div class="line"><a name="l03396"></a><span class="lineno"> 3396</span>&#160;            m_value.<a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a> = create&lt;array_t&gt;();</div><div class="line"><a name="l03397"></a><span class="lineno"> 3397</span>&#160;            assert_invariant();</div><div class="line"><a name="l03398"></a><span class="lineno"> 3398</span>&#160;        }</div><div class="line"><a name="l03399"></a><span class="lineno"> 3399</span>&#160;</div><div class="line"><a name="l03400"></a><span class="lineno"> 3400</span>&#160;        <span class="comment">// operator[] only works for arrays</span></div><div class="line"><a name="l03401"></a><span class="lineno"> 3401</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l03402"></a><span class="lineno"> 3402</span>&#160;        {</div><div class="line"><a name="l03403"></a><span class="lineno"> 3403</span>&#160;            <span class="comment">// fill up array with null values if given idx is outside range</span></div><div class="line"><a name="l03404"></a><span class="lineno"> 3404</span>&#160;            <span class="keywordflow">if</span> (idx &gt;= m_value.array-&gt;size())</div><div class="line"><a name="l03405"></a><span class="lineno"> 3405</span>&#160;            {</div><div class="line"><a name="l03406"></a><span class="lineno"> 3406</span>&#160;                m_value.array-&gt;insert(m_value.array-&gt;end(),</div><div class="line"><a name="l03407"></a><span class="lineno"> 3407</span>&#160;                                      idx - m_value.array-&gt;size() + 1,</div><div class="line"><a name="l03408"></a><span class="lineno"> 3408</span>&#160;                                      <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>());</div><div class="line"><a name="l03409"></a><span class="lineno"> 3409</span>&#160;            }</div><div class="line"><a name="l03410"></a><span class="lineno"> 3410</span>&#160;</div><div class="line"><a name="l03411"></a><span class="lineno"> 3411</span>&#160;            <span class="keywordflow">return</span> m_value.array-&gt;operator[](idx);</div><div class="line"><a name="l03412"></a><span class="lineno"> 3412</span>&#160;        }</div><div class="line"><a name="l03413"></a><span class="lineno"> 3413</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03414"></a><span class="lineno"> 3414</span>&#160;        {</div><div class="line"><a name="l03415"></a><span class="lineno"> 3415</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03416"></a><span class="lineno"> 3416</span>&#160;        }</div><div class="line"><a name="l03417"></a><span class="lineno"> 3417</span>&#160;    }</div><div class="line"><a name="l03418"></a><span class="lineno"> 3418</span>&#160;</div><div class="line"><a name="l03438"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea"> 3438</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)<span class="keyword"> const</span></div><div class="line"><a name="l03439"></a><span class="lineno"> 3439</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03440"></a><span class="lineno"> 3440</span>&#160;        <span class="comment">// const operator[] only works for arrays</span></div><div class="line"><a name="l03441"></a><span class="lineno"> 3441</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l03442"></a><span class="lineno"> 3442</span>&#160;        {</div><div class="line"><a name="l03443"></a><span class="lineno"> 3443</span>&#160;            <span class="keywordflow">return</span> m_value.<a class="code" href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">array</a>-&gt;operator[](idx);</div><div class="line"><a name="l03444"></a><span class="lineno"> 3444</span>&#160;        }</div><div class="line"><a name="l03445"></a><span class="lineno"> 3445</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03446"></a><span class="lineno"> 3446</span>&#160;        {</div><div class="line"><a name="l03447"></a><span class="lineno"> 3447</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03448"></a><span class="lineno"> 3448</span>&#160;        }</div><div class="line"><a name="l03449"></a><span class="lineno"> 3449</span>&#160;    }</div><div class="line"><a name="l03450"></a><span class="lineno"> 3450</span>&#160;</div><div class="line"><a name="l03478"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034"> 3478</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">operator[]</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)</div><div class="line"><a name="l03479"></a><span class="lineno"> 3479</span>&#160;    {</div><div class="line"><a name="l03480"></a><span class="lineno"> 3480</span>&#160;        <span class="comment">// implicitly convert null value to an empty object</span></div><div class="line"><a name="l03481"></a><span class="lineno"> 3481</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l03482"></a><span class="lineno"> 3482</span>&#160;        {</div><div class="line"><a name="l03483"></a><span class="lineno"> 3483</span>&#160;            m_type = value_t::object;</div><div class="line"><a name="l03484"></a><span class="lineno"> 3484</span>&#160;            m_value.<a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a> = create&lt;object_t&gt;();</div><div class="line"><a name="l03485"></a><span class="lineno"> 3485</span>&#160;            assert_invariant();</div><div class="line"><a name="l03486"></a><span class="lineno"> 3486</span>&#160;        }</div><div class="line"><a name="l03487"></a><span class="lineno"> 3487</span>&#160;</div><div class="line"><a name="l03488"></a><span class="lineno"> 3488</span>&#160;        <span class="comment">// operator[] only works for objects</span></div><div class="line"><a name="l03489"></a><span class="lineno"> 3489</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03490"></a><span class="lineno"> 3490</span>&#160;        {</div><div class="line"><a name="l03491"></a><span class="lineno"> 3491</span>&#160;            <span class="keywordflow">return</span> m_value.object-&gt;operator[](key);</div><div class="line"><a name="l03492"></a><span class="lineno"> 3492</span>&#160;        }</div><div class="line"><a name="l03493"></a><span class="lineno"> 3493</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03494"></a><span class="lineno"> 3494</span>&#160;        {</div><div class="line"><a name="l03495"></a><span class="lineno"> 3495</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03496"></a><span class="lineno"> 3496</span>&#160;        }</div><div class="line"><a name="l03497"></a><span class="lineno"> 3497</span>&#160;    }</div><div class="line"><a name="l03498"></a><span class="lineno"> 3498</span>&#160;</div><div class="line"><a name="l03526"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1"> 3526</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">operator[]</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)<span class="keyword"> const</span></div><div class="line"><a name="l03527"></a><span class="lineno"> 3527</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03528"></a><span class="lineno"> 3528</span>&#160;        <span class="comment">// const operator[] only works for objects</span></div><div class="line"><a name="l03529"></a><span class="lineno"> 3529</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03530"></a><span class="lineno"> 3530</span>&#160;        {</div><div class="line"><a name="l03531"></a><span class="lineno"> 3531</span>&#160;            assert(m_value.object-&gt;find(key) != m_value.object-&gt;end());</div><div class="line"><a name="l03532"></a><span class="lineno"> 3532</span>&#160;            <span class="keywordflow">return</span> m_value.<a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a>-&gt;<a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(key)-&gt;second;</div><div class="line"><a name="l03533"></a><span class="lineno"> 3533</span>&#160;        }</div><div class="line"><a name="l03534"></a><span class="lineno"> 3534</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03535"></a><span class="lineno"> 3535</span>&#160;        {</div><div class="line"><a name="l03536"></a><span class="lineno"> 3536</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03537"></a><span class="lineno"> 3537</span>&#160;        }</div><div class="line"><a name="l03538"></a><span class="lineno"> 3538</span>&#160;    }</div><div class="line"><a name="l03539"></a><span class="lineno"> 3539</span>&#160;</div><div class="line"><a name="l03567"></a><span class="lineno"> 3567</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> n&gt;</div><div class="line"><a name="l03568"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b"> 3568</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">operator[]</a>(T * (&amp;key)[n])</div><div class="line"><a name="l03569"></a><span class="lineno"> 3569</span>&#160;    {</div><div class="line"><a name="l03570"></a><span class="lineno"> 3570</span>&#160;        <span class="keywordflow">return</span> operator[](static_cast&lt;const T&gt;(key));</div><div class="line"><a name="l03571"></a><span class="lineno"> 3571</span>&#160;    }</div><div class="line"><a name="l03572"></a><span class="lineno"> 3572</span>&#160;</div><div class="line"><a name="l03602"></a><span class="lineno"> 3602</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, std::<span class="keywordtype">size_t</span> n&gt;</div><div class="line"><a name="l03603"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae"> 3603</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">operator[]</a>(T * (&amp;key)[n])<span class="keyword"> const</span></div><div class="line"><a name="l03604"></a><span class="lineno"> 3604</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03605"></a><span class="lineno"> 3605</span>&#160;        <span class="keywordflow">return</span> operator[](static_cast&lt;const T&gt;(key));</div><div class="line"><a name="l03606"></a><span class="lineno"> 3606</span>&#160;    }</div><div class="line"><a name="l03607"></a><span class="lineno"> 3607</span>&#160;</div><div class="line"><a name="l03635"></a><span class="lineno"> 3635</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l03636"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e"> 3636</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">operator[]</a>(T* key)</div><div class="line"><a name="l03637"></a><span class="lineno"> 3637</span>&#160;    {</div><div class="line"><a name="l03638"></a><span class="lineno"> 3638</span>&#160;        <span class="comment">// implicitly convert null to object</span></div><div class="line"><a name="l03639"></a><span class="lineno"> 3639</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l03640"></a><span class="lineno"> 3640</span>&#160;        {</div><div class="line"><a name="l03641"></a><span class="lineno"> 3641</span>&#160;            m_type = value_t::object;</div><div class="line"><a name="l03642"></a><span class="lineno"> 3642</span>&#160;            m_value = value_t::object;</div><div class="line"><a name="l03643"></a><span class="lineno"> 3643</span>&#160;            assert_invariant();</div><div class="line"><a name="l03644"></a><span class="lineno"> 3644</span>&#160;        }</div><div class="line"><a name="l03645"></a><span class="lineno"> 3645</span>&#160;</div><div class="line"><a name="l03646"></a><span class="lineno"> 3646</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03647"></a><span class="lineno"> 3647</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03648"></a><span class="lineno"> 3648</span>&#160;        {</div><div class="line"><a name="l03649"></a><span class="lineno"> 3649</span>&#160;            <span class="keywordflow">return</span> m_value.object-&gt;operator[](key);</div><div class="line"><a name="l03650"></a><span class="lineno"> 3650</span>&#160;        }</div><div class="line"><a name="l03651"></a><span class="lineno"> 3651</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03652"></a><span class="lineno"> 3652</span>&#160;        {</div><div class="line"><a name="l03653"></a><span class="lineno"> 3653</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03654"></a><span class="lineno"> 3654</span>&#160;        }</div><div class="line"><a name="l03655"></a><span class="lineno"> 3655</span>&#160;    }</div><div class="line"><a name="l03656"></a><span class="lineno"> 3656</span>&#160;</div><div class="line"><a name="l03684"></a><span class="lineno"> 3684</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l03685"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e"> 3685</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">operator[]</a>(T* key)<span class="keyword"> const</span></div><div class="line"><a name="l03686"></a><span class="lineno"> 3686</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03687"></a><span class="lineno"> 3687</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03688"></a><span class="lineno"> 3688</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03689"></a><span class="lineno"> 3689</span>&#160;        {</div><div class="line"><a name="l03690"></a><span class="lineno"> 3690</span>&#160;            assert(m_value.object-&gt;find(key) != m_value.object-&gt;end());</div><div class="line"><a name="l03691"></a><span class="lineno"> 3691</span>&#160;            <span class="keywordflow">return</span> m_value.<a class="code" href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">object</a>-&gt;<a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(key)-&gt;second;</div><div class="line"><a name="l03692"></a><span class="lineno"> 3692</span>&#160;        }</div><div class="line"><a name="l03693"></a><span class="lineno"> 3693</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03694"></a><span class="lineno"> 3694</span>&#160;        {</div><div class="line"><a name="l03695"></a><span class="lineno"> 3695</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] with &quot;</span> + type_name());</div><div class="line"><a name="l03696"></a><span class="lineno"> 3696</span>&#160;        }</div><div class="line"><a name="l03697"></a><span class="lineno"> 3697</span>&#160;    }</div><div class="line"><a name="l03698"></a><span class="lineno"> 3698</span>&#160;</div><div class="line"><a name="l03747"></a><span class="lineno"> 3747</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>ValueType, <span class="keyword">typename</span></div><div class="line"><a name="l03748"></a><span class="lineno"> 3748</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l03749"></a><span class="lineno"> 3749</span>&#160;                  std::is_convertible&lt;basic_json_t, ValueType&gt;::value</div><div class="line"><a name="l03750"></a><span class="lineno"> 3750</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l03751"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0"> 3751</a></span>&#160;    ValueType <a class="code" href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">value</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key, ValueType default_value)<span class="keyword"> const</span></div><div class="line"><a name="l03752"></a><span class="lineno"> 3752</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03753"></a><span class="lineno"> 3753</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03754"></a><span class="lineno"> 3754</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03755"></a><span class="lineno"> 3755</span>&#160;        {</div><div class="line"><a name="l03756"></a><span class="lineno"> 3756</span>&#160;            <span class="comment">// if key is found, return value and given default value otherwise</span></div><div class="line"><a name="l03757"></a><span class="lineno"> 3757</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> it = find(key);</div><div class="line"><a name="l03758"></a><span class="lineno"> 3758</span>&#160;            <span class="keywordflow">if</span> (it != end())</div><div class="line"><a name="l03759"></a><span class="lineno"> 3759</span>&#160;            {</div><div class="line"><a name="l03760"></a><span class="lineno"> 3760</span>&#160;                <span class="keywordflow">return</span> *it;</div><div class="line"><a name="l03761"></a><span class="lineno"> 3761</span>&#160;            }</div><div class="line"><a name="l03762"></a><span class="lineno"> 3762</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l03763"></a><span class="lineno"> 3763</span>&#160;            {</div><div class="line"><a name="l03764"></a><span class="lineno"> 3764</span>&#160;                <span class="keywordflow">return</span> default_value;</div><div class="line"><a name="l03765"></a><span class="lineno"> 3765</span>&#160;            }</div><div class="line"><a name="l03766"></a><span class="lineno"> 3766</span>&#160;        }</div><div class="line"><a name="l03767"></a><span class="lineno"> 3767</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03768"></a><span class="lineno"> 3768</span>&#160;        {</div><div class="line"><a name="l03769"></a><span class="lineno"> 3769</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use value() with &quot;</span> + type_name());</div><div class="line"><a name="l03770"></a><span class="lineno"> 3770</span>&#160;        }</div><div class="line"><a name="l03771"></a><span class="lineno"> 3771</span>&#160;    }</div><div class="line"><a name="l03772"></a><span class="lineno"> 3772</span>&#160;</div><div class="line"><a name="l03777"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42"> 3777</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> <a class="code" href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">value</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key, <span class="keyword">const</span> <span class="keywordtype">char</span>* default_value)<span class="keyword"> const</span></div><div class="line"><a name="l03778"></a><span class="lineno"> 3778</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03779"></a><span class="lineno"> 3779</span>&#160;        <span class="keywordflow">return</span> value(key, <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(default_value));</div><div class="line"><a name="l03780"></a><span class="lineno"> 3780</span>&#160;    }</div><div class="line"><a name="l03781"></a><span class="lineno"> 3781</span>&#160;</div><div class="line"><a name="l03823"></a><span class="lineno"> 3823</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>ValueType, <span class="keyword">typename</span></div><div class="line"><a name="l03824"></a><span class="lineno"> 3824</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l03825"></a><span class="lineno"> 3825</span>&#160;                  std::is_convertible&lt;basic_json_t, ValueType&gt;::value</div><div class="line"><a name="l03826"></a><span class="lineno"> 3826</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type = 0&gt;</div><div class="line"><a name="l03827"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d"> 3827</a></span>&#160;    ValueType <a class="code" href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">value</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr, ValueType default_value)<span class="keyword"> const</span></div><div class="line"><a name="l03828"></a><span class="lineno"> 3828</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03829"></a><span class="lineno"> 3829</span>&#160;        <span class="comment">// at only works for objects</span></div><div class="line"><a name="l03830"></a><span class="lineno"> 3830</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l03831"></a><span class="lineno"> 3831</span>&#160;        {</div><div class="line"><a name="l03832"></a><span class="lineno"> 3832</span>&#160;            <span class="comment">// if pointer resolves a value, return it or use default value</span></div><div class="line"><a name="l03833"></a><span class="lineno"> 3833</span>&#160;            <span class="keywordflow">try</span></div><div class="line"><a name="l03834"></a><span class="lineno"> 3834</span>&#160;            {</div><div class="line"><a name="l03835"></a><span class="lineno"> 3835</span>&#160;                <span class="keywordflow">return</span> ptr.get_checked(<span class="keyword">this</span>);</div><div class="line"><a name="l03836"></a><span class="lineno"> 3836</span>&#160;            }</div><div class="line"><a name="l03837"></a><span class="lineno"> 3837</span>&#160;            <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l03838"></a><span class="lineno"> 3838</span>&#160;            {</div><div class="line"><a name="l03839"></a><span class="lineno"> 3839</span>&#160;                <span class="keywordflow">return</span> default_value;</div><div class="line"><a name="l03840"></a><span class="lineno"> 3840</span>&#160;            }</div><div class="line"><a name="l03841"></a><span class="lineno"> 3841</span>&#160;        }</div><div class="line"><a name="l03842"></a><span class="lineno"> 3842</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l03843"></a><span class="lineno"> 3843</span>&#160;        {</div><div class="line"><a name="l03844"></a><span class="lineno"> 3844</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use value() with &quot;</span> + type_name());</div><div class="line"><a name="l03845"></a><span class="lineno"> 3845</span>&#160;        }</div><div class="line"><a name="l03846"></a><span class="lineno"> 3846</span>&#160;    }</div><div class="line"><a name="l03847"></a><span class="lineno"> 3847</span>&#160;</div><div class="line"><a name="l03852"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736"> 3852</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> <a class="code" href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">value</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr, <span class="keyword">const</span> <span class="keywordtype">char</span>* default_value)<span class="keyword"> const</span></div><div class="line"><a name="l03853"></a><span class="lineno"> 3853</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03854"></a><span class="lineno"> 3854</span>&#160;        <span class="keywordflow">return</span> value(ptr, <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(default_value));</div><div class="line"><a name="l03855"></a><span class="lineno"> 3855</span>&#160;    }</div><div class="line"><a name="l03856"></a><span class="lineno"> 3856</span>&#160;</div><div class="line"><a name="l03881"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c"> 3881</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">front</a>()</div><div class="line"><a name="l03882"></a><span class="lineno"> 3882</span>&#160;    {</div><div class="line"><a name="l03883"></a><span class="lineno"> 3883</span>&#160;        <span class="keywordflow">return</span> *begin();</div><div class="line"><a name="l03884"></a><span class="lineno"> 3884</span>&#160;    }</div><div class="line"><a name="l03885"></a><span class="lineno"> 3885</span>&#160;</div><div class="line"><a name="l03889"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480"> 3889</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">front</a>()<span class="keyword"> const</span></div><div class="line"><a name="l03890"></a><span class="lineno"> 3890</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03891"></a><span class="lineno"> 3891</span>&#160;        <span class="keywordflow">return</span> *cbegin();</div><div class="line"><a name="l03892"></a><span class="lineno"> 3892</span>&#160;    }</div><div class="line"><a name="l03893"></a><span class="lineno"> 3893</span>&#160;</div><div class="line"><a name="l03923"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5"> 3923</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">back</a>()</div><div class="line"><a name="l03924"></a><span class="lineno"> 3924</span>&#160;    {</div><div class="line"><a name="l03925"></a><span class="lineno"> 3925</span>&#160;        <span class="keyword">auto</span> tmp = end();</div><div class="line"><a name="l03926"></a><span class="lineno"> 3926</span>&#160;        --tmp;</div><div class="line"><a name="l03927"></a><span class="lineno"> 3927</span>&#160;        <span class="keywordflow">return</span> *tmp;</div><div class="line"><a name="l03928"></a><span class="lineno"> 3928</span>&#160;    }</div><div class="line"><a name="l03929"></a><span class="lineno"> 3929</span>&#160;</div><div class="line"><a name="l03933"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6"> 3933</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> <a class="code" href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">back</a>()<span class="keyword"> const</span></div><div class="line"><a name="l03934"></a><span class="lineno"> 3934</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l03935"></a><span class="lineno"> 3935</span>&#160;        <span class="keyword">auto</span> tmp = cend();</div><div class="line"><a name="l03936"></a><span class="lineno"> 3936</span>&#160;        --tmp;</div><div class="line"><a name="l03937"></a><span class="lineno"> 3937</span>&#160;        <span class="keywordflow">return</span> *tmp;</div><div class="line"><a name="l03938"></a><span class="lineno"> 3938</span>&#160;    }</div><div class="line"><a name="l03939"></a><span class="lineno"> 3939</span>&#160;</div><div class="line"><a name="l03985"></a><span class="lineno"> 3985</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>InteratorType, <span class="keyword">typename</span></div><div class="line"><a name="l03986"></a><span class="lineno"> 3986</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l03987"></a><span class="lineno"> 3987</span>&#160;                  std::is_same&lt;InteratorType, typename basic_json_t::iterator&gt;::value or</div><div class="line"><a name="l03988"></a><span class="lineno"> 3988</span>&#160;                  std::is_same&lt;InteratorType, typename basic_json_t::const_iterator&gt;::value</div><div class="line"><a name="l03989"></a><span class="lineno"> 3989</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l03990"></a><span class="lineno"> 3990</span>&#160;              = 0&gt;</div><div class="line"><a name="l03991"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45"> 3991</a></span>&#160;    InteratorType <a class="code" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a>(InteratorType pos)</div><div class="line"><a name="l03992"></a><span class="lineno"> 3992</span>&#160;    {</div><div class="line"><a name="l03993"></a><span class="lineno"> 3993</span>&#160;        <span class="comment">// make sure iterator fits the current value</span></div><div class="line"><a name="l03994"></a><span class="lineno"> 3994</span>&#160;        <span class="keywordflow">if</span> (<span class="keyword">this</span> != pos.m_object)</div><div class="line"><a name="l03995"></a><span class="lineno"> 3995</span>&#160;        {</div><div class="line"><a name="l03996"></a><span class="lineno"> 3996</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l03997"></a><span class="lineno"> 3997</span>&#160;        }</div><div class="line"><a name="l03998"></a><span class="lineno"> 3998</span>&#160;</div><div class="line"><a name="l03999"></a><span class="lineno"> 3999</span>&#160;        InteratorType result = end();</div><div class="line"><a name="l04000"></a><span class="lineno"> 4000</span>&#160;</div><div class="line"><a name="l04001"></a><span class="lineno"> 4001</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04002"></a><span class="lineno"> 4002</span>&#160;        {</div><div class="line"><a name="l04003"></a><span class="lineno"> 4003</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l04004"></a><span class="lineno"> 4004</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l04005"></a><span class="lineno"> 4005</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l04006"></a><span class="lineno"> 4006</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l04007"></a><span class="lineno"> 4007</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l04008"></a><span class="lineno"> 4008</span>&#160;            {</div><div class="line"><a name="l04009"></a><span class="lineno"> 4009</span>&#160;                <span class="keywordflow">if</span> (not pos.m_it.primitive_iterator.is_begin())</div><div class="line"><a name="l04010"></a><span class="lineno"> 4010</span>&#160;                {</div><div class="line"><a name="l04011"></a><span class="lineno"> 4011</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;iterator out of range&quot;</span>);</div><div class="line"><a name="l04012"></a><span class="lineno"> 4012</span>&#160;                }</div><div class="line"><a name="l04013"></a><span class="lineno"> 4013</span>&#160;</div><div class="line"><a name="l04014"></a><span class="lineno"> 4014</span>&#160;                <span class="keywordflow">if</span> (is_string())</div><div class="line"><a name="l04015"></a><span class="lineno"> 4015</span>&#160;                {</div><div class="line"><a name="l04016"></a><span class="lineno"> 4016</span>&#160;                    AllocatorType&lt;string_t&gt; alloc;</div><div class="line"><a name="l04017"></a><span class="lineno"> 4017</span>&#160;                    alloc.destroy(m_value.string);</div><div class="line"><a name="l04018"></a><span class="lineno"> 4018</span>&#160;                    alloc.deallocate(m_value.string, 1);</div><div class="line"><a name="l04019"></a><span class="lineno"> 4019</span>&#160;                    m_value.string = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l04020"></a><span class="lineno"> 4020</span>&#160;                }</div><div class="line"><a name="l04021"></a><span class="lineno"> 4021</span>&#160;</div><div class="line"><a name="l04022"></a><span class="lineno"> 4022</span>&#160;                m_type = value_t::null;</div><div class="line"><a name="l04023"></a><span class="lineno"> 4023</span>&#160;                assert_invariant();</div><div class="line"><a name="l04024"></a><span class="lineno"> 4024</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04025"></a><span class="lineno"> 4025</span>&#160;            }</div><div class="line"><a name="l04026"></a><span class="lineno"> 4026</span>&#160;</div><div class="line"><a name="l04027"></a><span class="lineno"> 4027</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04028"></a><span class="lineno"> 4028</span>&#160;            {</div><div class="line"><a name="l04029"></a><span class="lineno"> 4029</span>&#160;                result.m_it.object_iterator = m_value.object-&gt;erase(pos.m_it.object_iterator);</div><div class="line"><a name="l04030"></a><span class="lineno"> 4030</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04031"></a><span class="lineno"> 4031</span>&#160;            }</div><div class="line"><a name="l04032"></a><span class="lineno"> 4032</span>&#160;</div><div class="line"><a name="l04033"></a><span class="lineno"> 4033</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04034"></a><span class="lineno"> 4034</span>&#160;            {</div><div class="line"><a name="l04035"></a><span class="lineno"> 4035</span>&#160;                result.m_it.array_iterator = m_value.array-&gt;erase(pos.m_it.array_iterator);</div><div class="line"><a name="l04036"></a><span class="lineno"> 4036</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04037"></a><span class="lineno"> 4037</span>&#160;            }</div><div class="line"><a name="l04038"></a><span class="lineno"> 4038</span>&#160;</div><div class="line"><a name="l04039"></a><span class="lineno"> 4039</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04040"></a><span class="lineno"> 4040</span>&#160;            {</div><div class="line"><a name="l04041"></a><span class="lineno"> 4041</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use erase() with &quot;</span> + type_name());</div><div class="line"><a name="l04042"></a><span class="lineno"> 4042</span>&#160;            }</div><div class="line"><a name="l04043"></a><span class="lineno"> 4043</span>&#160;        }</div><div class="line"><a name="l04044"></a><span class="lineno"> 4044</span>&#160;</div><div class="line"><a name="l04045"></a><span class="lineno"> 4045</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04046"></a><span class="lineno"> 4046</span>&#160;    }</div><div class="line"><a name="l04047"></a><span class="lineno"> 4047</span>&#160;</div><div class="line"><a name="l04094"></a><span class="lineno"> 4094</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">class </span>InteratorType, <span class="keyword">typename</span></div><div class="line"><a name="l04095"></a><span class="lineno"> 4095</span>&#160;              std::enable_if&lt;</div><div class="line"><a name="l04096"></a><span class="lineno"> 4096</span>&#160;                  std::is_same&lt;InteratorType, typename basic_json_t::iterator&gt;::value or</div><div class="line"><a name="l04097"></a><span class="lineno"> 4097</span>&#160;                  std::is_same&lt;InteratorType, typename basic_json_t::const_iterator&gt;::value</div><div class="line"><a name="l04098"></a><span class="lineno"> 4098</span>&#160;                  , <span class="keywordtype">int</span>&gt;::type</div><div class="line"><a name="l04099"></a><span class="lineno"> 4099</span>&#160;              = 0&gt;</div><div class="line"><a name="l04100"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7"> 4100</a></span>&#160;    InteratorType <a class="code" href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">erase</a>(InteratorType first, InteratorType last)</div><div class="line"><a name="l04101"></a><span class="lineno"> 4101</span>&#160;    {</div><div class="line"><a name="l04102"></a><span class="lineno"> 4102</span>&#160;        <span class="comment">// make sure iterator fits the current value</span></div><div class="line"><a name="l04103"></a><span class="lineno"> 4103</span>&#160;        <span class="keywordflow">if</span> (<span class="keyword">this</span> != first.m_object or <span class="keyword">this</span> != last.m_object)</div><div class="line"><a name="l04104"></a><span class="lineno"> 4104</span>&#160;        {</div><div class="line"><a name="l04105"></a><span class="lineno"> 4105</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterators do not fit current value&quot;</span>);</div><div class="line"><a name="l04106"></a><span class="lineno"> 4106</span>&#160;        }</div><div class="line"><a name="l04107"></a><span class="lineno"> 4107</span>&#160;</div><div class="line"><a name="l04108"></a><span class="lineno"> 4108</span>&#160;        InteratorType result = end();</div><div class="line"><a name="l04109"></a><span class="lineno"> 4109</span>&#160;</div><div class="line"><a name="l04110"></a><span class="lineno"> 4110</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04111"></a><span class="lineno"> 4111</span>&#160;        {</div><div class="line"><a name="l04112"></a><span class="lineno"> 4112</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l04113"></a><span class="lineno"> 4113</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l04114"></a><span class="lineno"> 4114</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l04115"></a><span class="lineno"> 4115</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l04116"></a><span class="lineno"> 4116</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l04117"></a><span class="lineno"> 4117</span>&#160;            {</div><div class="line"><a name="l04118"></a><span class="lineno"> 4118</span>&#160;                <span class="keywordflow">if</span> (not first.m_it.primitive_iterator.is_begin() or not last.m_it.primitive_iterator.is_end())</div><div class="line"><a name="l04119"></a><span class="lineno"> 4119</span>&#160;                {</div><div class="line"><a name="l04120"></a><span class="lineno"> 4120</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;iterators out of range&quot;</span>);</div><div class="line"><a name="l04121"></a><span class="lineno"> 4121</span>&#160;                }</div><div class="line"><a name="l04122"></a><span class="lineno"> 4122</span>&#160;</div><div class="line"><a name="l04123"></a><span class="lineno"> 4123</span>&#160;                <span class="keywordflow">if</span> (is_string())</div><div class="line"><a name="l04124"></a><span class="lineno"> 4124</span>&#160;                {</div><div class="line"><a name="l04125"></a><span class="lineno"> 4125</span>&#160;                    AllocatorType&lt;string_t&gt; alloc;</div><div class="line"><a name="l04126"></a><span class="lineno"> 4126</span>&#160;                    alloc.destroy(m_value.string);</div><div class="line"><a name="l04127"></a><span class="lineno"> 4127</span>&#160;                    alloc.deallocate(m_value.string, 1);</div><div class="line"><a name="l04128"></a><span class="lineno"> 4128</span>&#160;                    m_value.string = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l04129"></a><span class="lineno"> 4129</span>&#160;                }</div><div class="line"><a name="l04130"></a><span class="lineno"> 4130</span>&#160;</div><div class="line"><a name="l04131"></a><span class="lineno"> 4131</span>&#160;                m_type = value_t::null;</div><div class="line"><a name="l04132"></a><span class="lineno"> 4132</span>&#160;                assert_invariant();</div><div class="line"><a name="l04133"></a><span class="lineno"> 4133</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04134"></a><span class="lineno"> 4134</span>&#160;            }</div><div class="line"><a name="l04135"></a><span class="lineno"> 4135</span>&#160;</div><div class="line"><a name="l04136"></a><span class="lineno"> 4136</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04137"></a><span class="lineno"> 4137</span>&#160;            {</div><div class="line"><a name="l04138"></a><span class="lineno"> 4138</span>&#160;                result.m_it.object_iterator = m_value.object-&gt;erase(first.m_it.object_iterator,</div><div class="line"><a name="l04139"></a><span class="lineno"> 4139</span>&#160;                                              last.m_it.object_iterator);</div><div class="line"><a name="l04140"></a><span class="lineno"> 4140</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04141"></a><span class="lineno"> 4141</span>&#160;            }</div><div class="line"><a name="l04142"></a><span class="lineno"> 4142</span>&#160;</div><div class="line"><a name="l04143"></a><span class="lineno"> 4143</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04144"></a><span class="lineno"> 4144</span>&#160;            {</div><div class="line"><a name="l04145"></a><span class="lineno"> 4145</span>&#160;                result.m_it.array_iterator = m_value.array-&gt;erase(first.m_it.array_iterator,</div><div class="line"><a name="l04146"></a><span class="lineno"> 4146</span>&#160;                                             last.m_it.array_iterator);</div><div class="line"><a name="l04147"></a><span class="lineno"> 4147</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04148"></a><span class="lineno"> 4148</span>&#160;            }</div><div class="line"><a name="l04149"></a><span class="lineno"> 4149</span>&#160;</div><div class="line"><a name="l04150"></a><span class="lineno"> 4150</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04151"></a><span class="lineno"> 4151</span>&#160;            {</div><div class="line"><a name="l04152"></a><span class="lineno"> 4152</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use erase() with &quot;</span> + type_name());</div><div class="line"><a name="l04153"></a><span class="lineno"> 4153</span>&#160;            }</div><div class="line"><a name="l04154"></a><span class="lineno"> 4154</span>&#160;        }</div><div class="line"><a name="l04155"></a><span class="lineno"> 4155</span>&#160;</div><div class="line"><a name="l04156"></a><span class="lineno"> 4156</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04157"></a><span class="lineno"> 4157</span>&#160;    }</div><div class="line"><a name="l04158"></a><span class="lineno"> 4158</span>&#160;</div><div class="line"><a name="l04188"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3"> 4188</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> <a class="code" href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">erase</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::key_type&amp; key)</div><div class="line"><a name="l04189"></a><span class="lineno"> 4189</span>&#160;    {</div><div class="line"><a name="l04190"></a><span class="lineno"> 4190</span>&#160;        <span class="comment">// this erase only works for objects</span></div><div class="line"><a name="l04191"></a><span class="lineno"> 4191</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l04192"></a><span class="lineno"> 4192</span>&#160;        {</div><div class="line"><a name="l04193"></a><span class="lineno"> 4193</span>&#160;            <span class="keywordflow">return</span> m_value.object-&gt;erase(key);</div><div class="line"><a name="l04194"></a><span class="lineno"> 4194</span>&#160;        }</div><div class="line"><a name="l04195"></a><span class="lineno"> 4195</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l04196"></a><span class="lineno"> 4196</span>&#160;        {</div><div class="line"><a name="l04197"></a><span class="lineno"> 4197</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use erase() with &quot;</span> + type_name());</div><div class="line"><a name="l04198"></a><span class="lineno"> 4198</span>&#160;        }</div><div class="line"><a name="l04199"></a><span class="lineno"> 4199</span>&#160;    }</div><div class="line"><a name="l04200"></a><span class="lineno"> 4200</span>&#160;</div><div class="line"><a name="l04225"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5"> 4225</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">erase</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> idx)</div><div class="line"><a name="l04226"></a><span class="lineno"> 4226</span>&#160;    {</div><div class="line"><a name="l04227"></a><span class="lineno"> 4227</span>&#160;        <span class="comment">// this erase only works for arrays</span></div><div class="line"><a name="l04228"></a><span class="lineno"> 4228</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l04229"></a><span class="lineno"> 4229</span>&#160;        {</div><div class="line"><a name="l04230"></a><span class="lineno"> 4230</span>&#160;            <span class="keywordflow">if</span> (idx &gt;= size())</div><div class="line"><a name="l04231"></a><span class="lineno"> 4231</span>&#160;            {</div><div class="line"><a name="l04232"></a><span class="lineno"> 4232</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &quot;</span> + std::to_string(idx) + <span class="stringliteral">&quot; is out of range&quot;</span>);</div><div class="line"><a name="l04233"></a><span class="lineno"> 4233</span>&#160;            }</div><div class="line"><a name="l04234"></a><span class="lineno"> 4234</span>&#160;</div><div class="line"><a name="l04235"></a><span class="lineno"> 4235</span>&#160;            m_value.array-&gt;erase(m_value.array-&gt;begin() + <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a><span class="keyword">&gt;</span>(idx));</div><div class="line"><a name="l04236"></a><span class="lineno"> 4236</span>&#160;        }</div><div class="line"><a name="l04237"></a><span class="lineno"> 4237</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l04238"></a><span class="lineno"> 4238</span>&#160;        {</div><div class="line"><a name="l04239"></a><span class="lineno"> 4239</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use erase() with &quot;</span> + type_name());</div><div class="line"><a name="l04240"></a><span class="lineno"> 4240</span>&#160;        }</div><div class="line"><a name="l04241"></a><span class="lineno"> 4241</span>&#160;    }</div><div class="line"><a name="l04242"></a><span class="lineno"> 4242</span>&#160;</div><div class="line"><a name="l04244"></a><span class="lineno"> 4244</span>&#160;</div><div class="line"><a name="l04245"></a><span class="lineno"> 4245</span>&#160;</div><div class="line"><a name="l04247"></a><span class="lineno"> 4247</span>&#160;    <span class="comment">// lookup //</span></div><div class="line"><a name="l04249"></a><span class="lineno"> 4249</span>&#160;<span class="comment"></span></div><div class="line"><a name="l04252"></a><span class="lineno"> 4252</span>&#160;</div><div class="line"><a name="l04271"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f"> 4271</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(<span class="keyword">typename</span> object_t::key_type key)</div><div class="line"><a name="l04272"></a><span class="lineno"> 4272</span>&#160;    {</div><div class="line"><a name="l04273"></a><span class="lineno"> 4273</span>&#160;        <span class="keyword">auto</span> result = end();</div><div class="line"><a name="l04274"></a><span class="lineno"> 4274</span>&#160;</div><div class="line"><a name="l04275"></a><span class="lineno"> 4275</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l04276"></a><span class="lineno"> 4276</span>&#160;        {</div><div class="line"><a name="l04277"></a><span class="lineno"> 4277</span>&#160;            result.m_it.object_iterator = m_value.object-&gt;find(key);</div><div class="line"><a name="l04278"></a><span class="lineno"> 4278</span>&#160;        }</div><div class="line"><a name="l04279"></a><span class="lineno"> 4279</span>&#160;</div><div class="line"><a name="l04280"></a><span class="lineno"> 4280</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04281"></a><span class="lineno"> 4281</span>&#160;    }</div><div class="line"><a name="l04282"></a><span class="lineno"> 4282</span>&#160;</div><div class="line"><a name="l04287"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e"> 4287</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">find</a>(<span class="keyword">typename</span> object_t::key_type key)<span class="keyword"> const</span></div><div class="line"><a name="l04288"></a><span class="lineno"> 4288</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l04289"></a><span class="lineno"> 4289</span>&#160;        <span class="keyword">auto</span> result = cend();</div><div class="line"><a name="l04290"></a><span class="lineno"> 4290</span>&#160;</div><div class="line"><a name="l04291"></a><span class="lineno"> 4291</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l04292"></a><span class="lineno"> 4292</span>&#160;        {</div><div class="line"><a name="l04293"></a><span class="lineno"> 4293</span>&#160;            result.m_it.object_iterator = m_value.object-&gt;find(key);</div><div class="line"><a name="l04294"></a><span class="lineno"> 4294</span>&#160;        }</div><div class="line"><a name="l04295"></a><span class="lineno"> 4295</span>&#160;</div><div class="line"><a name="l04296"></a><span class="lineno"> 4296</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04297"></a><span class="lineno"> 4297</span>&#160;    }</div><div class="line"><a name="l04298"></a><span class="lineno"> 4298</span>&#160;</div><div class="line"><a name="l04317"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27"> 4317</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> <a class="code" href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">count</a>(<span class="keyword">typename</span> object_t::key_type key)<span class="keyword"> const</span></div><div class="line"><a name="l04318"></a><span class="lineno"> 4318</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l04319"></a><span class="lineno"> 4319</span>&#160;        <span class="comment">// return 0 for all nonobject types</span></div><div class="line"><a name="l04320"></a><span class="lineno"> 4320</span>&#160;        <span class="keywordflow">return</span> is_object() ? m_value.object-&gt;count(key) : 0;</div><div class="line"><a name="l04321"></a><span class="lineno"> 4321</span>&#160;    }</div><div class="line"><a name="l04322"></a><span class="lineno"> 4322</span>&#160;</div><div class="line"><a name="l04324"></a><span class="lineno"> 4324</span>&#160;</div><div class="line"><a name="l04325"></a><span class="lineno"> 4325</span>&#160;</div><div class="line"><a name="l04327"></a><span class="lineno"> 4327</span>&#160;    <span class="comment">// iterators //</span></div><div class="line"><a name="l04329"></a><span class="lineno"> 4329</span>&#160;<span class="comment"></span></div><div class="line"><a name="l04332"></a><span class="lineno"> 4332</span>&#160;</div><div class="line"><a name="l04357"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1"> 4357</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a>() noexcept</div><div class="line"><a name="l04358"></a><span class="lineno"> 4358</span>&#160;    {</div><div class="line"><a name="l04359"></a><span class="lineno"> 4359</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04360"></a><span class="lineno"> 4360</span>&#160;        result.set_begin();</div><div class="line"><a name="l04361"></a><span class="lineno"> 4361</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04362"></a><span class="lineno"> 4362</span>&#160;    }</div><div class="line"><a name="l04363"></a><span class="lineno"> 4363</span>&#160;</div><div class="line"><a name="l04367"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256"> 4367</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">begin</a>() const noexcept</div><div class="line"><a name="l04368"></a><span class="lineno"> 4368</span>&#160;    {</div><div class="line"><a name="l04369"></a><span class="lineno"> 4369</span>&#160;        <span class="keywordflow">return</span> cbegin();</div><div class="line"><a name="l04370"></a><span class="lineno"> 4370</span>&#160;    }</div><div class="line"><a name="l04371"></a><span class="lineno"> 4371</span>&#160;</div><div class="line"><a name="l04397"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb"> 4397</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">cbegin</a>() const noexcept</div><div class="line"><a name="l04398"></a><span class="lineno"> 4398</span>&#160;    {</div><div class="line"><a name="l04399"></a><span class="lineno"> 4399</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04400"></a><span class="lineno"> 4400</span>&#160;        result.set_begin();</div><div class="line"><a name="l04401"></a><span class="lineno"> 4401</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04402"></a><span class="lineno"> 4402</span>&#160;    }</div><div class="line"><a name="l04403"></a><span class="lineno"> 4403</span>&#160;</div><div class="line"><a name="l04428"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b"> 4428</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>() noexcept</div><div class="line"><a name="l04429"></a><span class="lineno"> 4429</span>&#160;    {</div><div class="line"><a name="l04430"></a><span class="lineno"> 4430</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04431"></a><span class="lineno"> 4431</span>&#160;        result.set_end();</div><div class="line"><a name="l04432"></a><span class="lineno"> 4432</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04433"></a><span class="lineno"> 4433</span>&#160;    }</div><div class="line"><a name="l04434"></a><span class="lineno"> 4434</span>&#160;</div><div class="line"><a name="l04438"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819"> 4438</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">end</a>() const noexcept</div><div class="line"><a name="l04439"></a><span class="lineno"> 4439</span>&#160;    {</div><div class="line"><a name="l04440"></a><span class="lineno"> 4440</span>&#160;        <span class="keywordflow">return</span> cend();</div><div class="line"><a name="l04441"></a><span class="lineno"> 4441</span>&#160;    }</div><div class="line"><a name="l04442"></a><span class="lineno"> 4442</span>&#160;</div><div class="line"><a name="l04468"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087"> 4468</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">cend</a>() const noexcept</div><div class="line"><a name="l04469"></a><span class="lineno"> 4469</span>&#160;    {</div><div class="line"><a name="l04470"></a><span class="lineno"> 4470</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l04471"></a><span class="lineno"> 4471</span>&#160;        result.set_end();</div><div class="line"><a name="l04472"></a><span class="lineno"> 4472</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l04473"></a><span class="lineno"> 4473</span>&#160;    }</div><div class="line"><a name="l04474"></a><span class="lineno"> 4474</span>&#160;</div><div class="line"><a name="l04498"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8"> 4498</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">rbegin</a>() noexcept</div><div class="line"><a name="l04499"></a><span class="lineno"> 4499</span>&#160;    {</div><div class="line"><a name="l04500"></a><span class="lineno"> 4500</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a>(end());</div><div class="line"><a name="l04501"></a><span class="lineno"> 4501</span>&#160;    }</div><div class="line"><a name="l04502"></a><span class="lineno"> 4502</span>&#160;</div><div class="line"><a name="l04506"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8"> 4506</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">rbegin</a>() const noexcept</div><div class="line"><a name="l04507"></a><span class="lineno"> 4507</span>&#160;    {</div><div class="line"><a name="l04508"></a><span class="lineno"> 4508</span>&#160;        <span class="keywordflow">return</span> crbegin();</div><div class="line"><a name="l04509"></a><span class="lineno"> 4509</span>&#160;    }</div><div class="line"><a name="l04510"></a><span class="lineno"> 4510</span>&#160;</div><div class="line"><a name="l04535"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707"> 4535</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">rend</a>() noexcept</div><div class="line"><a name="l04536"></a><span class="lineno"> 4536</span>&#160;    {</div><div class="line"><a name="l04537"></a><span class="lineno"> 4537</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">reverse_iterator</a>(begin());</div><div class="line"><a name="l04538"></a><span class="lineno"> 4538</span>&#160;    }</div><div class="line"><a name="l04539"></a><span class="lineno"> 4539</span>&#160;</div><div class="line"><a name="l04543"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b"> 4543</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">rend</a>() const noexcept</div><div class="line"><a name="l04544"></a><span class="lineno"> 4544</span>&#160;    {</div><div class="line"><a name="l04545"></a><span class="lineno"> 4545</span>&#160;        <span class="keywordflow">return</span> crend();</div><div class="line"><a name="l04546"></a><span class="lineno"> 4546</span>&#160;    }</div><div class="line"><a name="l04547"></a><span class="lineno"> 4547</span>&#160;</div><div class="line"><a name="l04572"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3"> 4572</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">crbegin</a>() const noexcept</div><div class="line"><a name="l04573"></a><span class="lineno"> 4573</span>&#160;    {</div><div class="line"><a name="l04574"></a><span class="lineno"> 4574</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a>(cend());</div><div class="line"><a name="l04575"></a><span class="lineno"> 4575</span>&#160;    }</div><div class="line"><a name="l04576"></a><span class="lineno"> 4576</span>&#160;</div><div class="line"><a name="l04601"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f"> 4601</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">crend</a>() const noexcept</div><div class="line"><a name="l04602"></a><span class="lineno"> 4602</span>&#160;    {</div><div class="line"><a name="l04603"></a><span class="lineno"> 4603</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">const_reverse_iterator</a>(cbegin());</div><div class="line"><a name="l04604"></a><span class="lineno"> 4604</span>&#160;    }</div><div class="line"><a name="l04605"></a><span class="lineno"> 4605</span>&#160;</div><div class="line"><a name="l04606"></a><span class="lineno"> 4606</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l04607"></a><span class="lineno"> 4607</span>&#160;    <span class="comment">// forward declaration</span></div><div class="line"><a name="l04608"></a><span class="lineno"> 4608</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> IteratorType&gt; <span class="keyword">class </span>iteration_proxy;</div><div class="line"><a name="l04609"></a><span class="lineno"> 4609</span>&#160;</div><div class="line"><a name="l04610"></a><span class="lineno"> 4610</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l04622"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5"> 4622</a></span>&#160;    <span class="keyword">static</span> iteration_proxy&lt;iterator&gt; <a class="code" href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">iterator_wrapper</a>(<a class="code" href="classnlohmann_1_1basic__json.html">reference</a> cont)</div><div class="line"><a name="l04623"></a><span class="lineno"> 4623</span>&#160;    {</div><div class="line"><a name="l04624"></a><span class="lineno"> 4624</span>&#160;        <span class="keywordflow">return</span> iteration_proxy&lt;iterator&gt;(cont);</div><div class="line"><a name="l04625"></a><span class="lineno"> 4625</span>&#160;    }</div><div class="line"><a name="l04626"></a><span class="lineno"> 4626</span>&#160;</div><div class="line"><a name="l04630"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5"> 4630</a></span>&#160;    <span class="keyword">static</span> iteration_proxy&lt;const_iterator&gt; <a class="code" href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">iterator_wrapper</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> cont)</div><div class="line"><a name="l04631"></a><span class="lineno"> 4631</span>&#160;    {</div><div class="line"><a name="l04632"></a><span class="lineno"> 4632</span>&#160;        <span class="keywordflow">return</span> iteration_proxy&lt;const_iterator&gt;(cont);</div><div class="line"><a name="l04633"></a><span class="lineno"> 4633</span>&#160;    }</div><div class="line"><a name="l04634"></a><span class="lineno"> 4634</span>&#160;</div><div class="line"><a name="l04636"></a><span class="lineno"> 4636</span>&#160;</div><div class="line"><a name="l04637"></a><span class="lineno"> 4637</span>&#160;</div><div class="line"><a name="l04639"></a><span class="lineno"> 4639</span>&#160;    <span class="comment">// capacity //</span></div><div class="line"><a name="l04641"></a><span class="lineno"> 4641</span>&#160;<span class="comment"></span></div><div class="line"><a name="l04644"></a><span class="lineno"> 4644</span>&#160;</div><div class="line"><a name="l04682"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859"> 4682</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">empty</a>() const noexcept</div><div class="line"><a name="l04683"></a><span class="lineno"> 4683</span>&#160;    {</div><div class="line"><a name="l04684"></a><span class="lineno"> 4684</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04685"></a><span class="lineno"> 4685</span>&#160;        {</div><div class="line"><a name="l04686"></a><span class="lineno"> 4686</span>&#160;            <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l04687"></a><span class="lineno"> 4687</span>&#160;            {</div><div class="line"><a name="l04688"></a><span class="lineno"> 4688</span>&#160;                <span class="comment">// null values are empty</span></div><div class="line"><a name="l04689"></a><span class="lineno"> 4689</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l04690"></a><span class="lineno"> 4690</span>&#160;            }</div><div class="line"><a name="l04691"></a><span class="lineno"> 4691</span>&#160;</div><div class="line"><a name="l04692"></a><span class="lineno"> 4692</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04693"></a><span class="lineno"> 4693</span>&#160;            {</div><div class="line"><a name="l04694"></a><span class="lineno"> 4694</span>&#160;                <span class="comment">// delegate call to array_t::empty()</span></div><div class="line"><a name="l04695"></a><span class="lineno"> 4695</span>&#160;                <span class="keywordflow">return</span> m_value.array-&gt;empty();</div><div class="line"><a name="l04696"></a><span class="lineno"> 4696</span>&#160;            }</div><div class="line"><a name="l04697"></a><span class="lineno"> 4697</span>&#160;</div><div class="line"><a name="l04698"></a><span class="lineno"> 4698</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04699"></a><span class="lineno"> 4699</span>&#160;            {</div><div class="line"><a name="l04700"></a><span class="lineno"> 4700</span>&#160;                <span class="comment">// delegate call to object_t::empty()</span></div><div class="line"><a name="l04701"></a><span class="lineno"> 4701</span>&#160;                <span class="keywordflow">return</span> m_value.object-&gt;empty();</div><div class="line"><a name="l04702"></a><span class="lineno"> 4702</span>&#160;            }</div><div class="line"><a name="l04703"></a><span class="lineno"> 4703</span>&#160;</div><div class="line"><a name="l04704"></a><span class="lineno"> 4704</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04705"></a><span class="lineno"> 4705</span>&#160;            {</div><div class="line"><a name="l04706"></a><span class="lineno"> 4706</span>&#160;                <span class="comment">// all other types are nonempty</span></div><div class="line"><a name="l04707"></a><span class="lineno"> 4707</span>&#160;                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l04708"></a><span class="lineno"> 4708</span>&#160;            }</div><div class="line"><a name="l04709"></a><span class="lineno"> 4709</span>&#160;        }</div><div class="line"><a name="l04710"></a><span class="lineno"> 4710</span>&#160;    }</div><div class="line"><a name="l04711"></a><span class="lineno"> 4711</span>&#160;</div><div class="line"><a name="l04750"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49"> 4750</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> <a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>() const noexcept</div><div class="line"><a name="l04751"></a><span class="lineno"> 4751</span>&#160;    {</div><div class="line"><a name="l04752"></a><span class="lineno"> 4752</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04753"></a><span class="lineno"> 4753</span>&#160;        {</div><div class="line"><a name="l04754"></a><span class="lineno"> 4754</span>&#160;            <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l04755"></a><span class="lineno"> 4755</span>&#160;            {</div><div class="line"><a name="l04756"></a><span class="lineno"> 4756</span>&#160;                <span class="comment">// null values are empty</span></div><div class="line"><a name="l04757"></a><span class="lineno"> 4757</span>&#160;                <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l04758"></a><span class="lineno"> 4758</span>&#160;            }</div><div class="line"><a name="l04759"></a><span class="lineno"> 4759</span>&#160;</div><div class="line"><a name="l04760"></a><span class="lineno"> 4760</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04761"></a><span class="lineno"> 4761</span>&#160;            {</div><div class="line"><a name="l04762"></a><span class="lineno"> 4762</span>&#160;                <span class="comment">// delegate call to array_t::size()</span></div><div class="line"><a name="l04763"></a><span class="lineno"> 4763</span>&#160;                <span class="keywordflow">return</span> m_value.array-&gt;size();</div><div class="line"><a name="l04764"></a><span class="lineno"> 4764</span>&#160;            }</div><div class="line"><a name="l04765"></a><span class="lineno"> 4765</span>&#160;</div><div class="line"><a name="l04766"></a><span class="lineno"> 4766</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04767"></a><span class="lineno"> 4767</span>&#160;            {</div><div class="line"><a name="l04768"></a><span class="lineno"> 4768</span>&#160;                <span class="comment">// delegate call to object_t::size()</span></div><div class="line"><a name="l04769"></a><span class="lineno"> 4769</span>&#160;                <span class="keywordflow">return</span> m_value.object-&gt;size();</div><div class="line"><a name="l04770"></a><span class="lineno"> 4770</span>&#160;            }</div><div class="line"><a name="l04771"></a><span class="lineno"> 4771</span>&#160;</div><div class="line"><a name="l04772"></a><span class="lineno"> 4772</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04773"></a><span class="lineno"> 4773</span>&#160;            {</div><div class="line"><a name="l04774"></a><span class="lineno"> 4774</span>&#160;                <span class="comment">// all other types have size 1</span></div><div class="line"><a name="l04775"></a><span class="lineno"> 4775</span>&#160;                <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l04776"></a><span class="lineno"> 4776</span>&#160;            }</div><div class="line"><a name="l04777"></a><span class="lineno"> 4777</span>&#160;        }</div><div class="line"><a name="l04778"></a><span class="lineno"> 4778</span>&#160;    }</div><div class="line"><a name="l04779"></a><span class="lineno"> 4779</span>&#160;</div><div class="line"><a name="l04816"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a"> 4816</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> <a class="code" href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">max_size</a>() const noexcept</div><div class="line"><a name="l04817"></a><span class="lineno"> 4817</span>&#160;    {</div><div class="line"><a name="l04818"></a><span class="lineno"> 4818</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04819"></a><span class="lineno"> 4819</span>&#160;        {</div><div class="line"><a name="l04820"></a><span class="lineno"> 4820</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04821"></a><span class="lineno"> 4821</span>&#160;            {</div><div class="line"><a name="l04822"></a><span class="lineno"> 4822</span>&#160;                <span class="comment">// delegate call to array_t::max_size()</span></div><div class="line"><a name="l04823"></a><span class="lineno"> 4823</span>&#160;                <span class="keywordflow">return</span> m_value.array-&gt;max_size();</div><div class="line"><a name="l04824"></a><span class="lineno"> 4824</span>&#160;            }</div><div class="line"><a name="l04825"></a><span class="lineno"> 4825</span>&#160;</div><div class="line"><a name="l04826"></a><span class="lineno"> 4826</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04827"></a><span class="lineno"> 4827</span>&#160;            {</div><div class="line"><a name="l04828"></a><span class="lineno"> 4828</span>&#160;                <span class="comment">// delegate call to object_t::max_size()</span></div><div class="line"><a name="l04829"></a><span class="lineno"> 4829</span>&#160;                <span class="keywordflow">return</span> m_value.object-&gt;max_size();</div><div class="line"><a name="l04830"></a><span class="lineno"> 4830</span>&#160;            }</div><div class="line"><a name="l04831"></a><span class="lineno"> 4831</span>&#160;</div><div class="line"><a name="l04832"></a><span class="lineno"> 4832</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04833"></a><span class="lineno"> 4833</span>&#160;            {</div><div class="line"><a name="l04834"></a><span class="lineno"> 4834</span>&#160;                <span class="comment">// all other types have max_size() == size()</span></div><div class="line"><a name="l04835"></a><span class="lineno"> 4835</span>&#160;                <span class="keywordflow">return</span> size();</div><div class="line"><a name="l04836"></a><span class="lineno"> 4836</span>&#160;            }</div><div class="line"><a name="l04837"></a><span class="lineno"> 4837</span>&#160;        }</div><div class="line"><a name="l04838"></a><span class="lineno"> 4838</span>&#160;    }</div><div class="line"><a name="l04839"></a><span class="lineno"> 4839</span>&#160;</div><div class="line"><a name="l04841"></a><span class="lineno"> 4841</span>&#160;</div><div class="line"><a name="l04842"></a><span class="lineno"> 4842</span>&#160;</div><div class="line"><a name="l04844"></a><span class="lineno"> 4844</span>&#160;    <span class="comment">// modifiers //</span></div><div class="line"><a name="l04846"></a><span class="lineno"> 4846</span>&#160;<span class="comment"></span></div><div class="line"><a name="l04849"></a><span class="lineno"> 4849</span>&#160;</div><div class="line"><a name="l04875"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f"> 4875</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">clear</a>() noexcept</div><div class="line"><a name="l04876"></a><span class="lineno"> 4876</span>&#160;    {</div><div class="line"><a name="l04877"></a><span class="lineno"> 4877</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l04878"></a><span class="lineno"> 4878</span>&#160;        {</div><div class="line"><a name="l04879"></a><span class="lineno"> 4879</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l04880"></a><span class="lineno"> 4880</span>&#160;            {</div><div class="line"><a name="l04881"></a><span class="lineno"> 4881</span>&#160;                m_value.number_integer = 0;</div><div class="line"><a name="l04882"></a><span class="lineno"> 4882</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04883"></a><span class="lineno"> 4883</span>&#160;            }</div><div class="line"><a name="l04884"></a><span class="lineno"> 4884</span>&#160;</div><div class="line"><a name="l04885"></a><span class="lineno"> 4885</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l04886"></a><span class="lineno"> 4886</span>&#160;            {</div><div class="line"><a name="l04887"></a><span class="lineno"> 4887</span>&#160;                m_value.number_unsigned = 0;</div><div class="line"><a name="l04888"></a><span class="lineno"> 4888</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04889"></a><span class="lineno"> 4889</span>&#160;            }</div><div class="line"><a name="l04890"></a><span class="lineno"> 4890</span>&#160;</div><div class="line"><a name="l04891"></a><span class="lineno"> 4891</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l04892"></a><span class="lineno"> 4892</span>&#160;            {</div><div class="line"><a name="l04893"></a><span class="lineno"> 4893</span>&#160;                m_value.number_float = 0.0;</div><div class="line"><a name="l04894"></a><span class="lineno"> 4894</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04895"></a><span class="lineno"> 4895</span>&#160;            }</div><div class="line"><a name="l04896"></a><span class="lineno"> 4896</span>&#160;</div><div class="line"><a name="l04897"></a><span class="lineno"> 4897</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l04898"></a><span class="lineno"> 4898</span>&#160;            {</div><div class="line"><a name="l04899"></a><span class="lineno"> 4899</span>&#160;                m_value.boolean = <span class="keyword">false</span>;</div><div class="line"><a name="l04900"></a><span class="lineno"> 4900</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04901"></a><span class="lineno"> 4901</span>&#160;            }</div><div class="line"><a name="l04902"></a><span class="lineno"> 4902</span>&#160;</div><div class="line"><a name="l04903"></a><span class="lineno"> 4903</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l04904"></a><span class="lineno"> 4904</span>&#160;            {</div><div class="line"><a name="l04905"></a><span class="lineno"> 4905</span>&#160;                m_value.string-&gt;clear();</div><div class="line"><a name="l04906"></a><span class="lineno"> 4906</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04907"></a><span class="lineno"> 4907</span>&#160;            }</div><div class="line"><a name="l04908"></a><span class="lineno"> 4908</span>&#160;</div><div class="line"><a name="l04909"></a><span class="lineno"> 4909</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l04910"></a><span class="lineno"> 4910</span>&#160;            {</div><div class="line"><a name="l04911"></a><span class="lineno"> 4911</span>&#160;                m_value.array-&gt;clear();</div><div class="line"><a name="l04912"></a><span class="lineno"> 4912</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04913"></a><span class="lineno"> 4913</span>&#160;            }</div><div class="line"><a name="l04914"></a><span class="lineno"> 4914</span>&#160;</div><div class="line"><a name="l04915"></a><span class="lineno"> 4915</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l04916"></a><span class="lineno"> 4916</span>&#160;            {</div><div class="line"><a name="l04917"></a><span class="lineno"> 4917</span>&#160;                m_value.object-&gt;clear();</div><div class="line"><a name="l04918"></a><span class="lineno"> 4918</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04919"></a><span class="lineno"> 4919</span>&#160;            }</div><div class="line"><a name="l04920"></a><span class="lineno"> 4920</span>&#160;</div><div class="line"><a name="l04921"></a><span class="lineno"> 4921</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l04922"></a><span class="lineno"> 4922</span>&#160;            {</div><div class="line"><a name="l04923"></a><span class="lineno"> 4923</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l04924"></a><span class="lineno"> 4924</span>&#160;            }</div><div class="line"><a name="l04925"></a><span class="lineno"> 4925</span>&#160;        }</div><div class="line"><a name="l04926"></a><span class="lineno"> 4926</span>&#160;    }</div><div class="line"><a name="l04927"></a><span class="lineno"> 4927</span>&#160;</div><div class="line"><a name="l04948"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f"> 4948</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a>(<a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp;&amp; val)</div><div class="line"><a name="l04949"></a><span class="lineno"> 4949</span>&#160;    {</div><div class="line"><a name="l04950"></a><span class="lineno"> 4950</span>&#160;        <span class="comment">// push_back only works for null objects or arrays</span></div><div class="line"><a name="l04951"></a><span class="lineno"> 4951</span>&#160;        <span class="keywordflow">if</span> (not(is_null() or is_array()))</div><div class="line"><a name="l04952"></a><span class="lineno"> 4952</span>&#160;        {</div><div class="line"><a name="l04953"></a><span class="lineno"> 4953</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use push_back() with &quot;</span> + type_name());</div><div class="line"><a name="l04954"></a><span class="lineno"> 4954</span>&#160;        }</div><div class="line"><a name="l04955"></a><span class="lineno"> 4955</span>&#160;</div><div class="line"><a name="l04956"></a><span class="lineno"> 4956</span>&#160;        <span class="comment">// transform null object into an array</span></div><div class="line"><a name="l04957"></a><span class="lineno"> 4957</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l04958"></a><span class="lineno"> 4958</span>&#160;        {</div><div class="line"><a name="l04959"></a><span class="lineno"> 4959</span>&#160;            m_type = value_t::array;</div><div class="line"><a name="l04960"></a><span class="lineno"> 4960</span>&#160;            m_value = value_t::array;</div><div class="line"><a name="l04961"></a><span class="lineno"> 4961</span>&#160;            assert_invariant();</div><div class="line"><a name="l04962"></a><span class="lineno"> 4962</span>&#160;        }</div><div class="line"><a name="l04963"></a><span class="lineno"> 4963</span>&#160;</div><div class="line"><a name="l04964"></a><span class="lineno"> 4964</span>&#160;        <span class="comment">// add element to array (move semantics)</span></div><div class="line"><a name="l04965"></a><span class="lineno"> 4965</span>&#160;        m_value.array-&gt;push_back(std::move(val));</div><div class="line"><a name="l04966"></a><span class="lineno"> 4966</span>&#160;        <span class="comment">// invalidate object</span></div><div class="line"><a name="l04967"></a><span class="lineno"> 4967</span>&#160;        val.m_type = value_t::null;</div><div class="line"><a name="l04968"></a><span class="lineno"> 4968</span>&#160;    }</div><div class="line"><a name="l04969"></a><span class="lineno"> 4969</span>&#160;</div><div class="line"><a name="l04974"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41"> 4974</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">operator+=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp;&amp; val)</div><div class="line"><a name="l04975"></a><span class="lineno"> 4975</span>&#160;    {</div><div class="line"><a name="l04976"></a><span class="lineno"> 4976</span>&#160;        push_back(std::move(val));</div><div class="line"><a name="l04977"></a><span class="lineno"> 4977</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l04978"></a><span class="lineno"> 4978</span>&#160;    }</div><div class="line"><a name="l04979"></a><span class="lineno"> 4979</span>&#160;</div><div class="line"><a name="l04984"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba"> 4984</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">push_back</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; val)</div><div class="line"><a name="l04985"></a><span class="lineno"> 4985</span>&#160;    {</div><div class="line"><a name="l04986"></a><span class="lineno"> 4986</span>&#160;        <span class="comment">// push_back only works for null objects or arrays</span></div><div class="line"><a name="l04987"></a><span class="lineno"> 4987</span>&#160;        <span class="keywordflow">if</span> (not(is_null() or is_array()))</div><div class="line"><a name="l04988"></a><span class="lineno"> 4988</span>&#160;        {</div><div class="line"><a name="l04989"></a><span class="lineno"> 4989</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use push_back() with &quot;</span> + type_name());</div><div class="line"><a name="l04990"></a><span class="lineno"> 4990</span>&#160;        }</div><div class="line"><a name="l04991"></a><span class="lineno"> 4991</span>&#160;</div><div class="line"><a name="l04992"></a><span class="lineno"> 4992</span>&#160;        <span class="comment">// transform null object into an array</span></div><div class="line"><a name="l04993"></a><span class="lineno"> 4993</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l04994"></a><span class="lineno"> 4994</span>&#160;        {</div><div class="line"><a name="l04995"></a><span class="lineno"> 4995</span>&#160;            m_type = value_t::array;</div><div class="line"><a name="l04996"></a><span class="lineno"> 4996</span>&#160;            m_value = value_t::array;</div><div class="line"><a name="l04997"></a><span class="lineno"> 4997</span>&#160;            assert_invariant();</div><div class="line"><a name="l04998"></a><span class="lineno"> 4998</span>&#160;        }</div><div class="line"><a name="l04999"></a><span class="lineno"> 4999</span>&#160;</div><div class="line"><a name="l05000"></a><span class="lineno"> 5000</span>&#160;        <span class="comment">// add element to array</span></div><div class="line"><a name="l05001"></a><span class="lineno"> 5001</span>&#160;        m_value.array-&gt;push_back(val);</div><div class="line"><a name="l05002"></a><span class="lineno"> 5002</span>&#160;    }</div><div class="line"><a name="l05003"></a><span class="lineno"> 5003</span>&#160;</div><div class="line"><a name="l05008"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc"> 5008</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">operator+=</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; val)</div><div class="line"><a name="l05009"></a><span class="lineno"> 5009</span>&#160;    {</div><div class="line"><a name="l05010"></a><span class="lineno"> 5010</span>&#160;        push_back(val);</div><div class="line"><a name="l05011"></a><span class="lineno"> 5011</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l05012"></a><span class="lineno"> 5012</span>&#160;    }</div><div class="line"><a name="l05013"></a><span class="lineno"> 5013</span>&#160;</div><div class="line"><a name="l05034"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5"> 5034</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">push_back</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::value_type&amp; val)</div><div class="line"><a name="l05035"></a><span class="lineno"> 5035</span>&#160;    {</div><div class="line"><a name="l05036"></a><span class="lineno"> 5036</span>&#160;        <span class="comment">// push_back only works for null objects or objects</span></div><div class="line"><a name="l05037"></a><span class="lineno"> 5037</span>&#160;        <span class="keywordflow">if</span> (not(is_null() or is_object()))</div><div class="line"><a name="l05038"></a><span class="lineno"> 5038</span>&#160;        {</div><div class="line"><a name="l05039"></a><span class="lineno"> 5039</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use push_back() with &quot;</span> + type_name());</div><div class="line"><a name="l05040"></a><span class="lineno"> 5040</span>&#160;        }</div><div class="line"><a name="l05041"></a><span class="lineno"> 5041</span>&#160;</div><div class="line"><a name="l05042"></a><span class="lineno"> 5042</span>&#160;        <span class="comment">// transform null object into an object</span></div><div class="line"><a name="l05043"></a><span class="lineno"> 5043</span>&#160;        <span class="keywordflow">if</span> (is_null())</div><div class="line"><a name="l05044"></a><span class="lineno"> 5044</span>&#160;        {</div><div class="line"><a name="l05045"></a><span class="lineno"> 5045</span>&#160;            m_type = value_t::object;</div><div class="line"><a name="l05046"></a><span class="lineno"> 5046</span>&#160;            m_value = value_t::object;</div><div class="line"><a name="l05047"></a><span class="lineno"> 5047</span>&#160;            assert_invariant();</div><div class="line"><a name="l05048"></a><span class="lineno"> 5048</span>&#160;        }</div><div class="line"><a name="l05049"></a><span class="lineno"> 5049</span>&#160;</div><div class="line"><a name="l05050"></a><span class="lineno"> 5050</span>&#160;        <span class="comment">// add element to array</span></div><div class="line"><a name="l05051"></a><span class="lineno"> 5051</span>&#160;        m_value.object-&gt;insert(val);</div><div class="line"><a name="l05052"></a><span class="lineno"> 5052</span>&#160;    }</div><div class="line"><a name="l05053"></a><span class="lineno"> 5053</span>&#160;</div><div class="line"><a name="l05058"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6"> 5058</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">operator+=</a>(<span class="keyword">const</span> <span class="keyword">typename</span> object_t::value_type&amp; val)</div><div class="line"><a name="l05059"></a><span class="lineno"> 5059</span>&#160;    {</div><div class="line"><a name="l05060"></a><span class="lineno"> 5060</span>&#160;        push_back(val);</div><div class="line"><a name="l05061"></a><span class="lineno"> 5061</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l05062"></a><span class="lineno"> 5062</span>&#160;    }</div><div class="line"><a name="l05063"></a><span class="lineno"> 5063</span>&#160;</div><div class="line"><a name="l05089"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43"> 5089</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">push_back</a>(std::initializer_list&lt;basic_json&gt; init)</div><div class="line"><a name="l05090"></a><span class="lineno"> 5090</span>&#160;    {</div><div class="line"><a name="l05091"></a><span class="lineno"> 5091</span>&#160;        <span class="keywordflow">if</span> (is_object() and init.size() == 2 and init.begin()-&gt;is_string())</div><div class="line"><a name="l05092"></a><span class="lineno"> 5092</span>&#160;        {</div><div class="line"><a name="l05093"></a><span class="lineno"> 5093</span>&#160;            <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> key = *init.begin();</div><div class="line"><a name="l05094"></a><span class="lineno"> 5094</span>&#160;            push_back(<span class="keyword">typename</span> object_t::value_type(key, *(init.begin() + 1)));</div><div class="line"><a name="l05095"></a><span class="lineno"> 5095</span>&#160;        }</div><div class="line"><a name="l05096"></a><span class="lineno"> 5096</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l05097"></a><span class="lineno"> 5097</span>&#160;        {</div><div class="line"><a name="l05098"></a><span class="lineno"> 5098</span>&#160;            push_back(<a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(init));</div><div class="line"><a name="l05099"></a><span class="lineno"> 5099</span>&#160;        }</div><div class="line"><a name="l05100"></a><span class="lineno"> 5100</span>&#160;    }</div><div class="line"><a name="l05101"></a><span class="lineno"> 5101</span>&#160;</div><div class="line"><a name="l05106"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2"> 5106</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> <a class="code" href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">operator+=</a>(std::initializer_list&lt;basic_json&gt; init)</div><div class="line"><a name="l05107"></a><span class="lineno"> 5107</span>&#160;    {</div><div class="line"><a name="l05108"></a><span class="lineno"> 5108</span>&#160;        push_back(init);</div><div class="line"><a name="l05109"></a><span class="lineno"> 5109</span>&#160;        <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l05110"></a><span class="lineno"> 5110</span>&#160;    }</div><div class="line"><a name="l05111"></a><span class="lineno"> 5111</span>&#160;</div><div class="line"><a name="l05134"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b"> 5134</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; val)</div><div class="line"><a name="l05135"></a><span class="lineno"> 5135</span>&#160;    {</div><div class="line"><a name="l05136"></a><span class="lineno"> 5136</span>&#160;        <span class="comment">// insert only works for arrays</span></div><div class="line"><a name="l05137"></a><span class="lineno"> 5137</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l05138"></a><span class="lineno"> 5138</span>&#160;        {</div><div class="line"><a name="l05139"></a><span class="lineno"> 5139</span>&#160;            <span class="comment">// check if iterator pos fits to this JSON value</span></div><div class="line"><a name="l05140"></a><span class="lineno"> 5140</span>&#160;            <span class="keywordflow">if</span> (pos.m_object != <span class="keyword">this</span>)</div><div class="line"><a name="l05141"></a><span class="lineno"> 5141</span>&#160;            {</div><div class="line"><a name="l05142"></a><span class="lineno"> 5142</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l05143"></a><span class="lineno"> 5143</span>&#160;            }</div><div class="line"><a name="l05144"></a><span class="lineno"> 5144</span>&#160;</div><div class="line"><a name="l05145"></a><span class="lineno"> 5145</span>&#160;            <span class="comment">// insert to array and return iterator</span></div><div class="line"><a name="l05146"></a><span class="lineno"> 5146</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l05147"></a><span class="lineno"> 5147</span>&#160;            result.m_it.array_iterator = m_value.array-&gt;insert(pos.m_it.array_iterator, val);</div><div class="line"><a name="l05148"></a><span class="lineno"> 5148</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l05149"></a><span class="lineno"> 5149</span>&#160;        }</div><div class="line"><a name="l05150"></a><span class="lineno"> 5150</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l05151"></a><span class="lineno"> 5151</span>&#160;        {</div><div class="line"><a name="l05152"></a><span class="lineno"> 5152</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use insert() with &quot;</span> + type_name());</div><div class="line"><a name="l05153"></a><span class="lineno"> 5153</span>&#160;        }</div><div class="line"><a name="l05154"></a><span class="lineno"> 5154</span>&#160;    }</div><div class="line"><a name="l05155"></a><span class="lineno"> 5155</span>&#160;</div><div class="line"><a name="l05160"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c"> 5160</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp;&amp; val)</div><div class="line"><a name="l05161"></a><span class="lineno"> 5161</span>&#160;    {</div><div class="line"><a name="l05162"></a><span class="lineno"> 5162</span>&#160;        <span class="keywordflow">return</span> insert(pos, val);</div><div class="line"><a name="l05163"></a><span class="lineno"> 5163</span>&#160;    }</div><div class="line"><a name="l05164"></a><span class="lineno"> 5164</span>&#160;</div><div class="line"><a name="l05189"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6"> 5189</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, <a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a> cnt, <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; val)</div><div class="line"><a name="l05190"></a><span class="lineno"> 5190</span>&#160;    {</div><div class="line"><a name="l05191"></a><span class="lineno"> 5191</span>&#160;        <span class="comment">// insert only works for arrays</span></div><div class="line"><a name="l05192"></a><span class="lineno"> 5192</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l05193"></a><span class="lineno"> 5193</span>&#160;        {</div><div class="line"><a name="l05194"></a><span class="lineno"> 5194</span>&#160;            <span class="comment">// check if iterator pos fits to this JSON value</span></div><div class="line"><a name="l05195"></a><span class="lineno"> 5195</span>&#160;            <span class="keywordflow">if</span> (pos.m_object != <span class="keyword">this</span>)</div><div class="line"><a name="l05196"></a><span class="lineno"> 5196</span>&#160;            {</div><div class="line"><a name="l05197"></a><span class="lineno"> 5197</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l05198"></a><span class="lineno"> 5198</span>&#160;            }</div><div class="line"><a name="l05199"></a><span class="lineno"> 5199</span>&#160;</div><div class="line"><a name="l05200"></a><span class="lineno"> 5200</span>&#160;            <span class="comment">// insert to array and return iterator</span></div><div class="line"><a name="l05201"></a><span class="lineno"> 5201</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l05202"></a><span class="lineno"> 5202</span>&#160;            result.m_it.array_iterator = m_value.array-&gt;insert(pos.m_it.array_iterator, cnt, val);</div><div class="line"><a name="l05203"></a><span class="lineno"> 5203</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l05204"></a><span class="lineno"> 5204</span>&#160;        }</div><div class="line"><a name="l05205"></a><span class="lineno"> 5205</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l05206"></a><span class="lineno"> 5206</span>&#160;        {</div><div class="line"><a name="l05207"></a><span class="lineno"> 5207</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use insert() with &quot;</span> + type_name());</div><div class="line"><a name="l05208"></a><span class="lineno"> 5208</span>&#160;        }</div><div class="line"><a name="l05209"></a><span class="lineno"> 5209</span>&#160;    }</div><div class="line"><a name="l05210"></a><span class="lineno"> 5210</span>&#160;</div><div class="line"><a name="l05241"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6"> 5241</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> first, <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> last)</div><div class="line"><a name="l05242"></a><span class="lineno"> 5242</span>&#160;    {</div><div class="line"><a name="l05243"></a><span class="lineno"> 5243</span>&#160;        <span class="comment">// insert only works for arrays</span></div><div class="line"><a name="l05244"></a><span class="lineno"> 5244</span>&#160;        <span class="keywordflow">if</span> (not is_array())</div><div class="line"><a name="l05245"></a><span class="lineno"> 5245</span>&#160;        {</div><div class="line"><a name="l05246"></a><span class="lineno"> 5246</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use insert() with &quot;</span> + type_name());</div><div class="line"><a name="l05247"></a><span class="lineno"> 5247</span>&#160;        }</div><div class="line"><a name="l05248"></a><span class="lineno"> 5248</span>&#160;</div><div class="line"><a name="l05249"></a><span class="lineno"> 5249</span>&#160;        <span class="comment">// check if iterator pos fits to this JSON value</span></div><div class="line"><a name="l05250"></a><span class="lineno"> 5250</span>&#160;        <span class="keywordflow">if</span> (pos.m_object != <span class="keyword">this</span>)</div><div class="line"><a name="l05251"></a><span class="lineno"> 5251</span>&#160;        {</div><div class="line"><a name="l05252"></a><span class="lineno"> 5252</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l05253"></a><span class="lineno"> 5253</span>&#160;        }</div><div class="line"><a name="l05254"></a><span class="lineno"> 5254</span>&#160;</div><div class="line"><a name="l05255"></a><span class="lineno"> 5255</span>&#160;        <span class="comment">// check if range iterators belong to the same JSON object</span></div><div class="line"><a name="l05256"></a><span class="lineno"> 5256</span>&#160;        <span class="keywordflow">if</span> (first.m_object != last.m_object)</div><div class="line"><a name="l05257"></a><span class="lineno"> 5257</span>&#160;        {</div><div class="line"><a name="l05258"></a><span class="lineno"> 5258</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterators do not fit&quot;</span>);</div><div class="line"><a name="l05259"></a><span class="lineno"> 5259</span>&#160;        }</div><div class="line"><a name="l05260"></a><span class="lineno"> 5260</span>&#160;</div><div class="line"><a name="l05261"></a><span class="lineno"> 5261</span>&#160;        <span class="keywordflow">if</span> (first.m_object == <span class="keyword">this</span> or last.m_object == <span class="keyword">this</span>)</div><div class="line"><a name="l05262"></a><span class="lineno"> 5262</span>&#160;        {</div><div class="line"><a name="l05263"></a><span class="lineno"> 5263</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;passed iterators may not belong to container&quot;</span>);</div><div class="line"><a name="l05264"></a><span class="lineno"> 5264</span>&#160;        }</div><div class="line"><a name="l05265"></a><span class="lineno"> 5265</span>&#160;</div><div class="line"><a name="l05266"></a><span class="lineno"> 5266</span>&#160;        <span class="comment">// insert to array and return iterator</span></div><div class="line"><a name="l05267"></a><span class="lineno"> 5267</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l05268"></a><span class="lineno"> 5268</span>&#160;        result.m_it.array_iterator = m_value.array-&gt;insert(</div><div class="line"><a name="l05269"></a><span class="lineno"> 5269</span>&#160;                                         pos.m_it.array_iterator,</div><div class="line"><a name="l05270"></a><span class="lineno"> 5270</span>&#160;                                         first.m_it.array_iterator,</div><div class="line"><a name="l05271"></a><span class="lineno"> 5271</span>&#160;                                         last.m_it.array_iterator);</div><div class="line"><a name="l05272"></a><span class="lineno"> 5272</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l05273"></a><span class="lineno"> 5273</span>&#160;    }</div><div class="line"><a name="l05274"></a><span class="lineno"> 5274</span>&#160;</div><div class="line"><a name="l05299"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13"> 5299</a></span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">insert</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> pos, std::initializer_list&lt;basic_json&gt; ilist)</div><div class="line"><a name="l05300"></a><span class="lineno"> 5300</span>&#160;    {</div><div class="line"><a name="l05301"></a><span class="lineno"> 5301</span>&#160;        <span class="comment">// insert only works for arrays</span></div><div class="line"><a name="l05302"></a><span class="lineno"> 5302</span>&#160;        <span class="keywordflow">if</span> (not is_array())</div><div class="line"><a name="l05303"></a><span class="lineno"> 5303</span>&#160;        {</div><div class="line"><a name="l05304"></a><span class="lineno"> 5304</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use insert() with &quot;</span> + type_name());</div><div class="line"><a name="l05305"></a><span class="lineno"> 5305</span>&#160;        }</div><div class="line"><a name="l05306"></a><span class="lineno"> 5306</span>&#160;</div><div class="line"><a name="l05307"></a><span class="lineno"> 5307</span>&#160;        <span class="comment">// check if iterator pos fits to this JSON value</span></div><div class="line"><a name="l05308"></a><span class="lineno"> 5308</span>&#160;        <span class="keywordflow">if</span> (pos.m_object != <span class="keyword">this</span>)</div><div class="line"><a name="l05309"></a><span class="lineno"> 5309</span>&#160;        {</div><div class="line"><a name="l05310"></a><span class="lineno"> 5310</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;iterator does not fit current value&quot;</span>);</div><div class="line"><a name="l05311"></a><span class="lineno"> 5311</span>&#160;        }</div><div class="line"><a name="l05312"></a><span class="lineno"> 5312</span>&#160;</div><div class="line"><a name="l05313"></a><span class="lineno"> 5313</span>&#160;        <span class="comment">// insert to array and return iterator</span></div><div class="line"><a name="l05314"></a><span class="lineno"> 5314</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result(<span class="keyword">this</span>);</div><div class="line"><a name="l05315"></a><span class="lineno"> 5315</span>&#160;        result.m_it.array_iterator = m_value.array-&gt;insert(pos.m_it.array_iterator, ilist);</div><div class="line"><a name="l05316"></a><span class="lineno"> 5316</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l05317"></a><span class="lineno"> 5317</span>&#160;    }</div><div class="line"><a name="l05318"></a><span class="lineno"> 5318</span>&#160;</div><div class="line"><a name="l05336"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582"> 5336</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">swap</a>(<a class="code" href="classnlohmann_1_1basic__json.html">reference</a> other) noexcept (</div><div class="line"><a name="l05337"></a><span class="lineno"> 5337</span>&#160;        std::is_nothrow_move_constructible&lt;value_t&gt;::value and</div><div class="line"><a name="l05338"></a><span class="lineno"> 5338</span>&#160;        std::is_nothrow_move_assignable&lt;value_t&gt;::value and</div><div class="line"><a name="l05339"></a><span class="lineno"> 5339</span>&#160;        std::is_nothrow_move_constructible&lt;json_value&gt;::value and</div><div class="line"><a name="l05340"></a><span class="lineno"> 5340</span>&#160;        std::is_nothrow_move_assignable&lt;json_value&gt;::value</div><div class="line"><a name="l05341"></a><span class="lineno"> 5341</span>&#160;    )</div><div class="line"><a name="l05342"></a><span class="lineno"> 5342</span>&#160;    {</div><div class="line"><a name="l05343"></a><span class="lineno"> 5343</span>&#160;        std::swap(m_type, other.m_type);</div><div class="line"><a name="l05344"></a><span class="lineno"> 5344</span>&#160;        std::swap(m_value, other.m_value);</div><div class="line"><a name="l05345"></a><span class="lineno"> 5345</span>&#160;        assert_invariant();</div><div class="line"><a name="l05346"></a><span class="lineno"> 5346</span>&#160;    }</div><div class="line"><a name="l05347"></a><span class="lineno"> 5347</span>&#160;</div><div class="line"><a name="l05368"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935"> 5368</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">swap</a>(<a class="code" href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">array_t</a>&amp; other)</div><div class="line"><a name="l05369"></a><span class="lineno"> 5369</span>&#160;    {</div><div class="line"><a name="l05370"></a><span class="lineno"> 5370</span>&#160;        <span class="comment">// swap only works for arrays</span></div><div class="line"><a name="l05371"></a><span class="lineno"> 5371</span>&#160;        <span class="keywordflow">if</span> (is_array())</div><div class="line"><a name="l05372"></a><span class="lineno"> 5372</span>&#160;        {</div><div class="line"><a name="l05373"></a><span class="lineno"> 5373</span>&#160;            std::swap(*(m_value.array), other);</div><div class="line"><a name="l05374"></a><span class="lineno"> 5374</span>&#160;        }</div><div class="line"><a name="l05375"></a><span class="lineno"> 5375</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l05376"></a><span class="lineno"> 5376</span>&#160;        {</div><div class="line"><a name="l05377"></a><span class="lineno"> 5377</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use swap() with &quot;</span> + type_name());</div><div class="line"><a name="l05378"></a><span class="lineno"> 5378</span>&#160;        }</div><div class="line"><a name="l05379"></a><span class="lineno"> 5379</span>&#160;    }</div><div class="line"><a name="l05380"></a><span class="lineno"> 5380</span>&#160;</div><div class="line"><a name="l05401"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794"> 5401</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">swap</a>(<a class="code" href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">object_t</a>&amp; other)</div><div class="line"><a name="l05402"></a><span class="lineno"> 5402</span>&#160;    {</div><div class="line"><a name="l05403"></a><span class="lineno"> 5403</span>&#160;        <span class="comment">// swap only works for objects</span></div><div class="line"><a name="l05404"></a><span class="lineno"> 5404</span>&#160;        <span class="keywordflow">if</span> (is_object())</div><div class="line"><a name="l05405"></a><span class="lineno"> 5405</span>&#160;        {</div><div class="line"><a name="l05406"></a><span class="lineno"> 5406</span>&#160;            std::swap(*(m_value.object), other);</div><div class="line"><a name="l05407"></a><span class="lineno"> 5407</span>&#160;        }</div><div class="line"><a name="l05408"></a><span class="lineno"> 5408</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l05409"></a><span class="lineno"> 5409</span>&#160;        {</div><div class="line"><a name="l05410"></a><span class="lineno"> 5410</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use swap() with &quot;</span> + type_name());</div><div class="line"><a name="l05411"></a><span class="lineno"> 5411</span>&#160;        }</div><div class="line"><a name="l05412"></a><span class="lineno"> 5412</span>&#160;    }</div><div class="line"><a name="l05413"></a><span class="lineno"> 5413</span>&#160;</div><div class="line"><a name="l05434"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7"> 5434</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">swap</a>(<a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; other)</div><div class="line"><a name="l05435"></a><span class="lineno"> 5435</span>&#160;    {</div><div class="line"><a name="l05436"></a><span class="lineno"> 5436</span>&#160;        <span class="comment">// swap only works for strings</span></div><div class="line"><a name="l05437"></a><span class="lineno"> 5437</span>&#160;        <span class="keywordflow">if</span> (is_string())</div><div class="line"><a name="l05438"></a><span class="lineno"> 5438</span>&#160;        {</div><div class="line"><a name="l05439"></a><span class="lineno"> 5439</span>&#160;            std::swap(*(m_value.string), other);</div><div class="line"><a name="l05440"></a><span class="lineno"> 5440</span>&#160;        }</div><div class="line"><a name="l05441"></a><span class="lineno"> 5441</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l05442"></a><span class="lineno"> 5442</span>&#160;        {</div><div class="line"><a name="l05443"></a><span class="lineno"> 5443</span>&#160;            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use swap() with &quot;</span> + type_name());</div><div class="line"><a name="l05444"></a><span class="lineno"> 5444</span>&#160;        }</div><div class="line"><a name="l05445"></a><span class="lineno"> 5445</span>&#160;    }</div><div class="line"><a name="l05446"></a><span class="lineno"> 5446</span>&#160;</div><div class="line"><a name="l05448"></a><span class="lineno"> 5448</span>&#160;</div><div class="line"><a name="l05449"></a><span class="lineno"> 5449</span>&#160;</div><div class="line"><a name="l05451"></a><span class="lineno"> 5451</span>&#160;    <span class="comment">// lexicographical comparison operators //</span></div><div class="line"><a name="l05453"></a><span class="lineno"> 5453</span>&#160;<span class="comment"></span></div><div class="line"><a name="l05456"></a><span class="lineno"> 5456</span>&#160;</div><div class="line"><a name="l05457"></a><span class="lineno"> 5457</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l05467"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7"> 5467</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> lhs, <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> rhs) noexcept</div><div class="line"><a name="l05468"></a><span class="lineno"> 5468</span>&#160;    {</div><div class="line"><a name="l05469"></a><span class="lineno"> 5469</span>&#160;        <span class="keyword">static</span> constexpr std::array&lt;uint8_t, 8&gt; order = {{</div><div class="line"><a name="l05470"></a><span class="lineno"> 5470</span>&#160;                0, <span class="comment">// null</span></div><div class="line"><a name="l05471"></a><span class="lineno"> 5471</span>&#160;                3, <span class="comment">// object</span></div><div class="line"><a name="l05472"></a><span class="lineno"> 5472</span>&#160;                4, <span class="comment">// array</span></div><div class="line"><a name="l05473"></a><span class="lineno"> 5473</span>&#160;                5, <span class="comment">// string</span></div><div class="line"><a name="l05474"></a><span class="lineno"> 5474</span>&#160;                1, <span class="comment">// boolean</span></div><div class="line"><a name="l05475"></a><span class="lineno"> 5475</span>&#160;                2, <span class="comment">// integer</span></div><div class="line"><a name="l05476"></a><span class="lineno"> 5476</span>&#160;                2, <span class="comment">// unsigned</span></div><div class="line"><a name="l05477"></a><span class="lineno"> 5477</span>&#160;                2, <span class="comment">// float</span></div><div class="line"><a name="l05478"></a><span class="lineno"> 5478</span>&#160;            }</div><div class="line"><a name="l05479"></a><span class="lineno"> 5479</span>&#160;        };</div><div class="line"><a name="l05480"></a><span class="lineno"> 5480</span>&#160;</div><div class="line"><a name="l05481"></a><span class="lineno"> 5481</span>&#160;        <span class="comment">// discarded values are not comparable</span></div><div class="line"><a name="l05482"></a><span class="lineno"> 5482</span>&#160;        <span class="keywordflow">if</span> (lhs == value_t::discarded or rhs == value_t::discarded)</div><div class="line"><a name="l05483"></a><span class="lineno"> 5483</span>&#160;        {</div><div class="line"><a name="l05484"></a><span class="lineno"> 5484</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05485"></a><span class="lineno"> 5485</span>&#160;        }</div><div class="line"><a name="l05486"></a><span class="lineno"> 5486</span>&#160;</div><div class="line"><a name="l05487"></a><span class="lineno"> 5487</span>&#160;        <span class="keywordflow">return</span> order[<span class="keyword">static_cast&lt;</span>std::size_t<span class="keyword">&gt;</span>(lhs)] &lt; order[static_cast&lt;std::size_t&gt;(rhs)];</div><div class="line"><a name="l05488"></a><span class="lineno"> 5488</span>&#160;    }</div><div class="line"><a name="l05489"></a><span class="lineno"> 5489</span>&#160;</div><div class="line"><a name="l05490"></a><span class="lineno"> 5490</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l05514"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e"> 5514</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">operator==</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05515"></a><span class="lineno"> 5515</span>&#160;    {</div><div class="line"><a name="l05516"></a><span class="lineno"> 5516</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> lhs_type = lhs.type();</div><div class="line"><a name="l05517"></a><span class="lineno"> 5517</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> rhs_type = rhs.type();</div><div class="line"><a name="l05518"></a><span class="lineno"> 5518</span>&#160;</div><div class="line"><a name="l05519"></a><span class="lineno"> 5519</span>&#160;        <span class="keywordflow">if</span> (lhs_type == rhs_type)</div><div class="line"><a name="l05520"></a><span class="lineno"> 5520</span>&#160;        {</div><div class="line"><a name="l05521"></a><span class="lineno"> 5521</span>&#160;            <span class="keywordflow">switch</span> (lhs_type)</div><div class="line"><a name="l05522"></a><span class="lineno"> 5522</span>&#160;            {</div><div class="line"><a name="l05523"></a><span class="lineno"> 5523</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l05524"></a><span class="lineno"> 5524</span>&#160;                {</div><div class="line"><a name="l05525"></a><span class="lineno"> 5525</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.array == *rhs.m_value.array;</div><div class="line"><a name="l05526"></a><span class="lineno"> 5526</span>&#160;                }</div><div class="line"><a name="l05527"></a><span class="lineno"> 5527</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l05528"></a><span class="lineno"> 5528</span>&#160;                {</div><div class="line"><a name="l05529"></a><span class="lineno"> 5529</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.object == *rhs.m_value.object;</div><div class="line"><a name="l05530"></a><span class="lineno"> 5530</span>&#160;                }</div><div class="line"><a name="l05531"></a><span class="lineno"> 5531</span>&#160;                <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l05532"></a><span class="lineno"> 5532</span>&#160;                {</div><div class="line"><a name="l05533"></a><span class="lineno"> 5533</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l05534"></a><span class="lineno"> 5534</span>&#160;                }</div><div class="line"><a name="l05535"></a><span class="lineno"> 5535</span>&#160;                <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l05536"></a><span class="lineno"> 5536</span>&#160;                {</div><div class="line"><a name="l05537"></a><span class="lineno"> 5537</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.string == *rhs.m_value.string;</div><div class="line"><a name="l05538"></a><span class="lineno"> 5538</span>&#160;                }</div><div class="line"><a name="l05539"></a><span class="lineno"> 5539</span>&#160;                <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l05540"></a><span class="lineno"> 5540</span>&#160;                {</div><div class="line"><a name="l05541"></a><span class="lineno"> 5541</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.boolean == rhs.m_value.boolean;</div><div class="line"><a name="l05542"></a><span class="lineno"> 5542</span>&#160;                }</div><div class="line"><a name="l05543"></a><span class="lineno"> 5543</span>&#160;                <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l05544"></a><span class="lineno"> 5544</span>&#160;                {</div><div class="line"><a name="l05545"></a><span class="lineno"> 5545</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_integer == rhs.m_value.number_integer;</div><div class="line"><a name="l05546"></a><span class="lineno"> 5546</span>&#160;                }</div><div class="line"><a name="l05547"></a><span class="lineno"> 5547</span>&#160;                <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l05548"></a><span class="lineno"> 5548</span>&#160;                {</div><div class="line"><a name="l05549"></a><span class="lineno"> 5549</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_unsigned == rhs.m_value.number_unsigned;</div><div class="line"><a name="l05550"></a><span class="lineno"> 5550</span>&#160;                }</div><div class="line"><a name="l05551"></a><span class="lineno"> 5551</span>&#160;                <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l05552"></a><span class="lineno"> 5552</span>&#160;                {</div><div class="line"><a name="l05553"></a><span class="lineno"> 5553</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_float == rhs.m_value.number_float;</div><div class="line"><a name="l05554"></a><span class="lineno"> 5554</span>&#160;                }</div><div class="line"><a name="l05555"></a><span class="lineno"> 5555</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l05556"></a><span class="lineno"> 5556</span>&#160;                {</div><div class="line"><a name="l05557"></a><span class="lineno"> 5557</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05558"></a><span class="lineno"> 5558</span>&#160;                }</div><div class="line"><a name="l05559"></a><span class="lineno"> 5559</span>&#160;            }</div><div class="line"><a name="l05560"></a><span class="lineno"> 5560</span>&#160;        }</div><div class="line"><a name="l05561"></a><span class="lineno"> 5561</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)</div><div class="line"><a name="l05562"></a><span class="lineno"> 5562</span>&#160;        {</div><div class="line"><a name="l05563"></a><span class="lineno"> 5563</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_integer) == rhs.m_value.number_float;</div><div class="line"><a name="l05564"></a><span class="lineno"> 5564</span>&#160;        }</div><div class="line"><a name="l05565"></a><span class="lineno"> 5565</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)</div><div class="line"><a name="l05566"></a><span class="lineno"> 5566</span>&#160;        {</div><div class="line"><a name="l05567"></a><span class="lineno"> 5567</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_float == <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_integer);</div><div class="line"><a name="l05568"></a><span class="lineno"> 5568</span>&#160;        }</div><div class="line"><a name="l05569"></a><span class="lineno"> 5569</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)</div><div class="line"><a name="l05570"></a><span class="lineno"> 5570</span>&#160;        {</div><div class="line"><a name="l05571"></a><span class="lineno"> 5571</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_unsigned) == rhs.m_value.number_float;</div><div class="line"><a name="l05572"></a><span class="lineno"> 5572</span>&#160;        }</div><div class="line"><a name="l05573"></a><span class="lineno"> 5573</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)</div><div class="line"><a name="l05574"></a><span class="lineno"> 5574</span>&#160;        {</div><div class="line"><a name="l05575"></a><span class="lineno"> 5575</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_float == <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_unsigned);</div><div class="line"><a name="l05576"></a><span class="lineno"> 5576</span>&#160;        }</div><div class="line"><a name="l05577"></a><span class="lineno"> 5577</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)</div><div class="line"><a name="l05578"></a><span class="lineno"> 5578</span>&#160;        {</div><div class="line"><a name="l05579"></a><span class="lineno"> 5579</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_unsigned) == rhs.m_value.number_integer;</div><div class="line"><a name="l05580"></a><span class="lineno"> 5580</span>&#160;        }</div><div class="line"><a name="l05581"></a><span class="lineno"> 5581</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)</div><div class="line"><a name="l05582"></a><span class="lineno"> 5582</span>&#160;        {</div><div class="line"><a name="l05583"></a><span class="lineno"> 5583</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_integer == <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_unsigned);</div><div class="line"><a name="l05584"></a><span class="lineno"> 5584</span>&#160;        }</div><div class="line"><a name="l05585"></a><span class="lineno"> 5585</span>&#160;</div><div class="line"><a name="l05586"></a><span class="lineno"> 5586</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05587"></a><span class="lineno"> 5587</span>&#160;    }</div><div class="line"><a name="l05588"></a><span class="lineno"> 5588</span>&#160;</div><div class="line"><a name="l05607"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7"> 5607</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">operator==</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> v, std::nullptr_t) noexcept</div><div class="line"><a name="l05608"></a><span class="lineno"> 5608</span>&#160;    {</div><div class="line"><a name="l05609"></a><span class="lineno"> 5609</span>&#160;        <span class="keywordflow">return</span> v.<a class="code" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a>();</div><div class="line"><a name="l05610"></a><span class="lineno"> 5610</span>&#160;    }</div><div class="line"><a name="l05611"></a><span class="lineno"> 5611</span>&#160;</div><div class="line"><a name="l05616"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52"> 5616</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">operator==</a>(std::nullptr_t, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> v) noexcept</div><div class="line"><a name="l05617"></a><span class="lineno"> 5617</span>&#160;    {</div><div class="line"><a name="l05618"></a><span class="lineno"> 5618</span>&#160;        <span class="keywordflow">return</span> v.is_null();</div><div class="line"><a name="l05619"></a><span class="lineno"> 5619</span>&#160;    }</div><div class="line"><a name="l05620"></a><span class="lineno"> 5620</span>&#160;</div><div class="line"><a name="l05637"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327"> 5637</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">operator!=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05638"></a><span class="lineno"> 5638</span>&#160;    {</div><div class="line"><a name="l05639"></a><span class="lineno"> 5639</span>&#160;        <span class="keywordflow">return</span> not (lhs == rhs);</div><div class="line"><a name="l05640"></a><span class="lineno"> 5640</span>&#160;    }</div><div class="line"><a name="l05641"></a><span class="lineno"> 5641</span>&#160;</div><div class="line"><a name="l05660"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf"> 5660</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">operator!=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> v, std::nullptr_t) noexcept</div><div class="line"><a name="l05661"></a><span class="lineno"> 5661</span>&#160;    {</div><div class="line"><a name="l05662"></a><span class="lineno"> 5662</span>&#160;        <span class="keywordflow">return</span> not v.<a class="code" href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">is_null</a>();</div><div class="line"><a name="l05663"></a><span class="lineno"> 5663</span>&#160;    }</div><div class="line"><a name="l05664"></a><span class="lineno"> 5664</span>&#160;</div><div class="line"><a name="l05669"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4"> 5669</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">operator!=</a>(std::nullptr_t, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> v) noexcept</div><div class="line"><a name="l05670"></a><span class="lineno"> 5670</span>&#160;    {</div><div class="line"><a name="l05671"></a><span class="lineno"> 5671</span>&#160;        <span class="keywordflow">return</span> not v.is_null();</div><div class="line"><a name="l05672"></a><span class="lineno"> 5672</span>&#160;    }</div><div class="line"><a name="l05673"></a><span class="lineno"> 5673</span>&#160;</div><div class="line"><a name="l05698"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3"> 5698</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">operator&lt;</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05699"></a><span class="lineno"> 5699</span>&#160;    {</div><div class="line"><a name="l05700"></a><span class="lineno"> 5700</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> lhs_type = lhs.type();</div><div class="line"><a name="l05701"></a><span class="lineno"> 5701</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> rhs_type = rhs.type();</div><div class="line"><a name="l05702"></a><span class="lineno"> 5702</span>&#160;</div><div class="line"><a name="l05703"></a><span class="lineno"> 5703</span>&#160;        <span class="keywordflow">if</span> (lhs_type == rhs_type)</div><div class="line"><a name="l05704"></a><span class="lineno"> 5704</span>&#160;        {</div><div class="line"><a name="l05705"></a><span class="lineno"> 5705</span>&#160;            <span class="keywordflow">switch</span> (lhs_type)</div><div class="line"><a name="l05706"></a><span class="lineno"> 5706</span>&#160;            {</div><div class="line"><a name="l05707"></a><span class="lineno"> 5707</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l05708"></a><span class="lineno"> 5708</span>&#160;                {</div><div class="line"><a name="l05709"></a><span class="lineno"> 5709</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.array &lt; *rhs.m_value.array;</div><div class="line"><a name="l05710"></a><span class="lineno"> 5710</span>&#160;                }</div><div class="line"><a name="l05711"></a><span class="lineno"> 5711</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l05712"></a><span class="lineno"> 5712</span>&#160;                {</div><div class="line"><a name="l05713"></a><span class="lineno"> 5713</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.object &lt; *rhs.m_value.object;</div><div class="line"><a name="l05714"></a><span class="lineno"> 5714</span>&#160;                }</div><div class="line"><a name="l05715"></a><span class="lineno"> 5715</span>&#160;                <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l05716"></a><span class="lineno"> 5716</span>&#160;                {</div><div class="line"><a name="l05717"></a><span class="lineno"> 5717</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05718"></a><span class="lineno"> 5718</span>&#160;                }</div><div class="line"><a name="l05719"></a><span class="lineno"> 5719</span>&#160;                <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l05720"></a><span class="lineno"> 5720</span>&#160;                {</div><div class="line"><a name="l05721"></a><span class="lineno"> 5721</span>&#160;                    <span class="keywordflow">return</span> *lhs.m_value.string &lt; *rhs.m_value.string;</div><div class="line"><a name="l05722"></a><span class="lineno"> 5722</span>&#160;                }</div><div class="line"><a name="l05723"></a><span class="lineno"> 5723</span>&#160;                <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l05724"></a><span class="lineno"> 5724</span>&#160;                {</div><div class="line"><a name="l05725"></a><span class="lineno"> 5725</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.boolean &lt; rhs.m_value.boolean;</div><div class="line"><a name="l05726"></a><span class="lineno"> 5726</span>&#160;                }</div><div class="line"><a name="l05727"></a><span class="lineno"> 5727</span>&#160;                <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l05728"></a><span class="lineno"> 5728</span>&#160;                {</div><div class="line"><a name="l05729"></a><span class="lineno"> 5729</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_integer &lt; rhs.m_value.number_integer;</div><div class="line"><a name="l05730"></a><span class="lineno"> 5730</span>&#160;                }</div><div class="line"><a name="l05731"></a><span class="lineno"> 5731</span>&#160;                <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l05732"></a><span class="lineno"> 5732</span>&#160;                {</div><div class="line"><a name="l05733"></a><span class="lineno"> 5733</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_unsigned &lt; rhs.m_value.number_unsigned;</div><div class="line"><a name="l05734"></a><span class="lineno"> 5734</span>&#160;                }</div><div class="line"><a name="l05735"></a><span class="lineno"> 5735</span>&#160;                <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l05736"></a><span class="lineno"> 5736</span>&#160;                {</div><div class="line"><a name="l05737"></a><span class="lineno"> 5737</span>&#160;                    <span class="keywordflow">return</span> lhs.m_value.number_float &lt; rhs.m_value.number_float;</div><div class="line"><a name="l05738"></a><span class="lineno"> 5738</span>&#160;                }</div><div class="line"><a name="l05739"></a><span class="lineno"> 5739</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l05740"></a><span class="lineno"> 5740</span>&#160;                {</div><div class="line"><a name="l05741"></a><span class="lineno"> 5741</span>&#160;                    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l05742"></a><span class="lineno"> 5742</span>&#160;                }</div><div class="line"><a name="l05743"></a><span class="lineno"> 5743</span>&#160;            }</div><div class="line"><a name="l05744"></a><span class="lineno"> 5744</span>&#160;        }</div><div class="line"><a name="l05745"></a><span class="lineno"> 5745</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_integer and rhs_type == value_t::number_float)</div><div class="line"><a name="l05746"></a><span class="lineno"> 5746</span>&#160;        {</div><div class="line"><a name="l05747"></a><span class="lineno"> 5747</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_integer) &lt; rhs.m_value.number_float;</div><div class="line"><a name="l05748"></a><span class="lineno"> 5748</span>&#160;        }</div><div class="line"><a name="l05749"></a><span class="lineno"> 5749</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_float and rhs_type == value_t::number_integer)</div><div class="line"><a name="l05750"></a><span class="lineno"> 5750</span>&#160;        {</div><div class="line"><a name="l05751"></a><span class="lineno"> 5751</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_float &lt; <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_integer);</div><div class="line"><a name="l05752"></a><span class="lineno"> 5752</span>&#160;        }</div><div class="line"><a name="l05753"></a><span class="lineno"> 5753</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_float)</div><div class="line"><a name="l05754"></a><span class="lineno"> 5754</span>&#160;        {</div><div class="line"><a name="l05755"></a><span class="lineno"> 5755</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_unsigned) &lt; rhs.m_value.number_float;</div><div class="line"><a name="l05756"></a><span class="lineno"> 5756</span>&#160;        }</div><div class="line"><a name="l05757"></a><span class="lineno"> 5757</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_float and rhs_type == value_t::number_unsigned)</div><div class="line"><a name="l05758"></a><span class="lineno"> 5758</span>&#160;        {</div><div class="line"><a name="l05759"></a><span class="lineno"> 5759</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_float &lt; <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">number_float_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_unsigned);</div><div class="line"><a name="l05760"></a><span class="lineno"> 5760</span>&#160;        }</div><div class="line"><a name="l05761"></a><span class="lineno"> 5761</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_integer and rhs_type == value_t::number_unsigned)</div><div class="line"><a name="l05762"></a><span class="lineno"> 5762</span>&#160;        {</div><div class="line"><a name="l05763"></a><span class="lineno"> 5763</span>&#160;            <span class="keywordflow">return</span> lhs.m_value.number_integer &lt; <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(rhs.m_value.number_unsigned);</div><div class="line"><a name="l05764"></a><span class="lineno"> 5764</span>&#160;        }</div><div class="line"><a name="l05765"></a><span class="lineno"> 5765</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhs_type == value_t::number_unsigned and rhs_type == value_t::number_integer)</div><div class="line"><a name="l05766"></a><span class="lineno"> 5766</span>&#160;        {</div><div class="line"><a name="l05767"></a><span class="lineno"> 5767</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(lhs.m_value.number_unsigned) &lt; rhs.m_value.number_integer;</div><div class="line"><a name="l05768"></a><span class="lineno"> 5768</span>&#160;        }</div><div class="line"><a name="l05769"></a><span class="lineno"> 5769</span>&#160;</div><div class="line"><a name="l05770"></a><span class="lineno"> 5770</span>&#160;        <span class="comment">// We only reach this line if we cannot compare values. In that case,</span></div><div class="line"><a name="l05771"></a><span class="lineno"> 5771</span>&#160;        <span class="comment">// we compare types. Note we have to call the operator explicitly,</span></div><div class="line"><a name="l05772"></a><span class="lineno"> 5772</span>&#160;        <span class="comment">// because MSVC has problems otherwise.</span></div><div class="line"><a name="l05773"></a><span class="lineno"> 5773</span>&#160;        <span class="keywordflow">return</span> operator&lt;(lhs_type, rhs_type);</div><div class="line"><a name="l05774"></a><span class="lineno"> 5774</span>&#160;    }</div><div class="line"><a name="l05775"></a><span class="lineno"> 5775</span>&#160;</div><div class="line"><a name="l05793"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac"> 5793</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">operator&lt;=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05794"></a><span class="lineno"> 5794</span>&#160;    {</div><div class="line"><a name="l05795"></a><span class="lineno"> 5795</span>&#160;        <span class="keywordflow">return</span> not (rhs &lt; lhs);</div><div class="line"><a name="l05796"></a><span class="lineno"> 5796</span>&#160;    }</div><div class="line"><a name="l05797"></a><span class="lineno"> 5797</span>&#160;</div><div class="line"><a name="l05815"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8"> 5815</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">operator&gt;</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05816"></a><span class="lineno"> 5816</span>&#160;    {</div><div class="line"><a name="l05817"></a><span class="lineno"> 5817</span>&#160;        <span class="keywordflow">return</span> not (lhs &lt;= rhs);</div><div class="line"><a name="l05818"></a><span class="lineno"> 5818</span>&#160;    }</div><div class="line"><a name="l05819"></a><span class="lineno"> 5819</span>&#160;</div><div class="line"><a name="l05837"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453"> 5837</a></span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">operator&gt;=</a>(<a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> lhs, <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> rhs) noexcept</div><div class="line"><a name="l05838"></a><span class="lineno"> 5838</span>&#160;    {</div><div class="line"><a name="l05839"></a><span class="lineno"> 5839</span>&#160;        <span class="keywordflow">return</span> not (lhs &lt; rhs);</div><div class="line"><a name="l05840"></a><span class="lineno"> 5840</span>&#160;    }</div><div class="line"><a name="l05841"></a><span class="lineno"> 5841</span>&#160;</div><div class="line"><a name="l05843"></a><span class="lineno"> 5843</span>&#160;</div><div class="line"><a name="l05844"></a><span class="lineno"> 5844</span>&#160;</div><div class="line"><a name="l05846"></a><span class="lineno"> 5846</span>&#160;    <span class="comment">// serialization //</span></div><div class="line"><a name="l05848"></a><span class="lineno"> 5848</span>&#160;<span class="comment"></span></div><div class="line"><a name="l05851"></a><span class="lineno"> 5851</span>&#160;</div><div class="line"><a name="l05878"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405"> 5878</a></span>&#160;    <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">operator&lt;&lt;</a>(std::ostream&amp; o, <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; j)</div><div class="line"><a name="l05879"></a><span class="lineno"> 5879</span>&#160;    {</div><div class="line"><a name="l05880"></a><span class="lineno"> 5880</span>&#160;        <span class="comment">// read width member and use it as indentation parameter if nonzero</span></div><div class="line"><a name="l05881"></a><span class="lineno"> 5881</span>&#160;        <span class="keyword">const</span> <span class="keywordtype">bool</span> pretty_print = (o.width() &gt; 0);</div><div class="line"><a name="l05882"></a><span class="lineno"> 5882</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> indentation = (pretty_print ? o.width() : 0);</div><div class="line"><a name="l05883"></a><span class="lineno"> 5883</span>&#160;</div><div class="line"><a name="l05884"></a><span class="lineno"> 5884</span>&#160;        <span class="comment">// reset width to 0 for subsequent calls to this stream</span></div><div class="line"><a name="l05885"></a><span class="lineno"> 5885</span>&#160;        o.width(0);</div><div class="line"><a name="l05886"></a><span class="lineno"> 5886</span>&#160;</div><div class="line"><a name="l05887"></a><span class="lineno"> 5887</span>&#160;        <span class="comment">// fix locale problems</span></div><div class="line"><a name="l05888"></a><span class="lineno"> 5888</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> old_locale = o.imbue(std::locale(std::locale(), <span class="keyword">new</span> DecimalSeparator));</div><div class="line"><a name="l05889"></a><span class="lineno"> 5889</span>&#160;        <span class="comment">// set precision</span></div><div class="line"><a name="l05890"></a><span class="lineno"> 5890</span>&#160;</div><div class="line"><a name="l05891"></a><span class="lineno"> 5891</span>&#160;        <span class="comment">// 6, 15 or 16 digits of precision allows round-trip IEEE 754</span></div><div class="line"><a name="l05892"></a><span class="lineno"> 5892</span>&#160;        <span class="comment">// string-&gt;float-&gt;string, string-&gt;double-&gt;string or string-&gt;long</span></div><div class="line"><a name="l05893"></a><span class="lineno"> 5893</span>&#160;        <span class="comment">// double-&gt;string; to be safe, we read this value from</span></div><div class="line"><a name="l05894"></a><span class="lineno"> 5894</span>&#160;        <span class="comment">// std::numeric_limits&lt;number_float_t&gt;::digits10</span></div><div class="line"><a name="l05895"></a><span class="lineno"> 5895</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> old_precision = o.precision(std::numeric_limits&lt;double&gt;::digits10);</div><div class="line"><a name="l05896"></a><span class="lineno"> 5896</span>&#160;</div><div class="line"><a name="l05897"></a><span class="lineno"> 5897</span>&#160;        <span class="comment">// do the actual serialization</span></div><div class="line"><a name="l05898"></a><span class="lineno"> 5898</span>&#160;        j.<a class="code" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a>(o, pretty_print, static_cast&lt;unsigned int&gt;(indentation));</div><div class="line"><a name="l05899"></a><span class="lineno"> 5899</span>&#160;</div><div class="line"><a name="l05900"></a><span class="lineno"> 5900</span>&#160;        <span class="comment">// reset locale and precision</span></div><div class="line"><a name="l05901"></a><span class="lineno"> 5901</span>&#160;        o.imbue(old_locale);</div><div class="line"><a name="l05902"></a><span class="lineno"> 5902</span>&#160;        o.precision(old_precision);</div><div class="line"><a name="l05903"></a><span class="lineno"> 5903</span>&#160;        <span class="keywordflow">return</span> o;</div><div class="line"><a name="l05904"></a><span class="lineno"> 5904</span>&#160;    }</div><div class="line"><a name="l05905"></a><span class="lineno"> 5905</span>&#160;</div><div class="line"><a name="l05910"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b"> 5910</a></span>&#160;    <span class="keyword">friend</span> std::ostream&amp; <a class="code" href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">operator&gt;&gt;</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; j, std::ostream&amp; o)</div><div class="line"><a name="l05911"></a><span class="lineno"> 5911</span>&#160;    {</div><div class="line"><a name="l05912"></a><span class="lineno"> 5912</span>&#160;        <span class="keywordflow">return</span> o &lt;&lt; j;</div><div class="line"><a name="l05913"></a><span class="lineno"> 5913</span>&#160;    }</div><div class="line"><a name="l05914"></a><span class="lineno"> 5914</span>&#160;</div><div class="line"><a name="l05916"></a><span class="lineno"> 5916</span>&#160;</div><div class="line"><a name="l05917"></a><span class="lineno"> 5917</span>&#160;</div><div class="line"><a name="l05919"></a><span class="lineno"> 5919</span>&#160;    <span class="comment">// deserialization //</span></div><div class="line"><a name="l05921"></a><span class="lineno"> 5921</span>&#160;<span class="comment"></span></div><div class="line"><a name="l05924"></a><span class="lineno"> 5924</span>&#160;</div><div class="line"><a name="l05949"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080"> 5949</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> <a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s,</div><div class="line"><a name="l05950"></a><span class="lineno"> 5950</span>&#160;                            <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>)</div><div class="line"><a name="l05951"></a><span class="lineno"> 5951</span>&#160;    {</div><div class="line"><a name="l05952"></a><span class="lineno"> 5952</span>&#160;        <span class="keywordflow">return</span> parser(s, cb).<a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a>();</div><div class="line"><a name="l05953"></a><span class="lineno"> 5953</span>&#160;    }</div><div class="line"><a name="l05954"></a><span class="lineno"> 5954</span>&#160;</div><div class="line"><a name="l05979"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d"> 5979</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> <a class="code" href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">parse</a>(std::istream&amp; i,</div><div class="line"><a name="l05980"></a><span class="lineno"> 5980</span>&#160;                            <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>)</div><div class="line"><a name="l05981"></a><span class="lineno"> 5981</span>&#160;    {</div><div class="line"><a name="l05982"></a><span class="lineno"> 5982</span>&#160;        <span class="keywordflow">return</span> parser(i, cb).<a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a>();</div><div class="line"><a name="l05983"></a><span class="lineno"> 5983</span>&#160;    }</div><div class="line"><a name="l05984"></a><span class="lineno"> 5984</span>&#160;</div><div class="line"><a name="l05988"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787"> 5988</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> <a class="code" href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">parse</a>(std::istream&amp;&amp; i,</div><div class="line"><a name="l05989"></a><span class="lineno"> 5989</span>&#160;                            <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>)</div><div class="line"><a name="l05990"></a><span class="lineno"> 5990</span>&#160;    {</div><div class="line"><a name="l05991"></a><span class="lineno"> 5991</span>&#160;        <span class="keywordflow">return</span> parser(i, cb).<a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a>();</div><div class="line"><a name="l05992"></a><span class="lineno"> 5992</span>&#160;    }</div><div class="line"><a name="l05993"></a><span class="lineno"> 5993</span>&#160;</div><div class="line"><a name="l06017"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6"> 6017</a></span>&#160;    <span class="keyword">friend</span> std::istream&amp; <a class="code" href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">operator&lt;&lt;</a>(<a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; j, std::istream&amp; i)</div><div class="line"><a name="l06018"></a><span class="lineno"> 6018</span>&#160;    {</div><div class="line"><a name="l06019"></a><span class="lineno"> 6019</span>&#160;        j = parser(i).<a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a>();</div><div class="line"><a name="l06020"></a><span class="lineno"> 6020</span>&#160;        <span class="keywordflow">return</span> i;</div><div class="line"><a name="l06021"></a><span class="lineno"> 6021</span>&#160;    }</div><div class="line"><a name="l06022"></a><span class="lineno"> 6022</span>&#160;</div><div class="line"><a name="l06027"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8"> 6027</a></span>&#160;    <span class="keyword">friend</span> std::istream&amp; <a class="code" href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">operator&gt;&gt;</a>(std::istream&amp; i, <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; j)</div><div class="line"><a name="l06028"></a><span class="lineno"> 6028</span>&#160;    {</div><div class="line"><a name="l06029"></a><span class="lineno"> 6029</span>&#160;        j = parser(i).<a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">parse</a>();</div><div class="line"><a name="l06030"></a><span class="lineno"> 6030</span>&#160;        <span class="keywordflow">return</span> i;</div><div class="line"><a name="l06031"></a><span class="lineno"> 6031</span>&#160;    }</div><div class="line"><a name="l06032"></a><span class="lineno"> 6032</span>&#160;</div><div class="line"><a name="l06034"></a><span class="lineno"> 6034</span>&#160;</div><div class="line"><a name="l06035"></a><span class="lineno"> 6035</span>&#160;</div><div class="line"><a name="l06036"></a><span class="lineno"> 6036</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l06038"></a><span class="lineno"> 6038</span>&#160;    <span class="comment">// convenience functions //</span></div><div class="line"><a name="l06040"></a><span class="lineno"> 6040</span>&#160;<span class="comment"></span></div><div class="line"><a name="l06053"></a><span class="lineno"> 6053</span>&#160;    std::string type_name()<span class="keyword"> const</span></div><div class="line"><a name="l06054"></a><span class="lineno"> 6054</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l06055"></a><span class="lineno"> 6055</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l06056"></a><span class="lineno"> 6056</span>&#160;        {</div><div class="line"><a name="l06057"></a><span class="lineno"> 6057</span>&#160;            <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l06058"></a><span class="lineno"> 6058</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;null&quot;</span>;</div><div class="line"><a name="l06059"></a><span class="lineno"> 6059</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l06060"></a><span class="lineno"> 6060</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;object&quot;</span>;</div><div class="line"><a name="l06061"></a><span class="lineno"> 6061</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l06062"></a><span class="lineno"> 6062</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;array&quot;</span>;</div><div class="line"><a name="l06063"></a><span class="lineno"> 6063</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l06064"></a><span class="lineno"> 6064</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;string&quot;</span>;</div><div class="line"><a name="l06065"></a><span class="lineno"> 6065</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l06066"></a><span class="lineno"> 6066</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;boolean&quot;</span>;</div><div class="line"><a name="l06067"></a><span class="lineno"> 6067</span>&#160;            <span class="keywordflow">case</span> value_t::discarded:</div><div class="line"><a name="l06068"></a><span class="lineno"> 6068</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;discarded&quot;</span>;</div><div class="line"><a name="l06069"></a><span class="lineno"> 6069</span>&#160;            <span class="keywordflow">default</span>:</div><div class="line"><a name="l06070"></a><span class="lineno"> 6070</span>&#160;                <span class="keywordflow">return</span> <span class="stringliteral">&quot;number&quot;</span>;</div><div class="line"><a name="l06071"></a><span class="lineno"> 6071</span>&#160;        }</div><div class="line"><a name="l06072"></a><span class="lineno"> 6072</span>&#160;    }</div><div class="line"><a name="l06073"></a><span class="lineno"> 6073</span>&#160;</div><div class="line"><a name="l06082"></a><span class="lineno"> 6082</span>&#160;    <span class="keyword">static</span> std::size_t extra_space(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s) noexcept</div><div class="line"><a name="l06083"></a><span class="lineno"> 6083</span>&#160;    {</div><div class="line"><a name="l06084"></a><span class="lineno"> 6084</span>&#160;        <span class="keywordflow">return</span> std::accumulate(s.begin(), s.end(), <span class="keywordtype">size_t</span>{},</div><div class="line"><a name="l06085"></a><span class="lineno"> 6085</span>&#160;                               [](<span class="keywordtype">size_t</span> res, <span class="keyword">typename</span> string_t::value_type c)</div><div class="line"><a name="l06086"></a><span class="lineno"> 6086</span>&#160;        {</div><div class="line"><a name="l06087"></a><span class="lineno"> 6087</span>&#160;            <span class="keywordflow">switch</span> (c)</div><div class="line"><a name="l06088"></a><span class="lineno"> 6088</span>&#160;            {</div><div class="line"><a name="l06089"></a><span class="lineno"> 6089</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;&quot;&#39;</span>:</div><div class="line"><a name="l06090"></a><span class="lineno"> 6090</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\\&#39;</span>:</div><div class="line"><a name="l06091"></a><span class="lineno"> 6091</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\b&#39;</span>:</div><div class="line"><a name="l06092"></a><span class="lineno"> 6092</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\f&#39;</span>:</div><div class="line"><a name="l06093"></a><span class="lineno"> 6093</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\n&#39;</span>:</div><div class="line"><a name="l06094"></a><span class="lineno"> 6094</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\r&#39;</span>:</div><div class="line"><a name="l06095"></a><span class="lineno"> 6095</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\t&#39;</span>:</div><div class="line"><a name="l06096"></a><span class="lineno"> 6096</span>&#160;                {</div><div class="line"><a name="l06097"></a><span class="lineno"> 6097</span>&#160;                    <span class="comment">// from c (1 byte) to \x (2 bytes)</span></div><div class="line"><a name="l06098"></a><span class="lineno"> 6098</span>&#160;                    <span class="keywordflow">return</span> res + 1;</div><div class="line"><a name="l06099"></a><span class="lineno"> 6099</span>&#160;                }</div><div class="line"><a name="l06100"></a><span class="lineno"> 6100</span>&#160;</div><div class="line"><a name="l06101"></a><span class="lineno"> 6101</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06102"></a><span class="lineno"> 6102</span>&#160;                {</div><div class="line"><a name="l06103"></a><span class="lineno"> 6103</span>&#160;                    <span class="keywordflow">if</span> (c &gt;= 0x00 and c &lt;= 0x1f)</div><div class="line"><a name="l06104"></a><span class="lineno"> 6104</span>&#160;                    {</div><div class="line"><a name="l06105"></a><span class="lineno"> 6105</span>&#160;                        <span class="comment">// from c (1 byte) to \uxxxx (6 bytes)</span></div><div class="line"><a name="l06106"></a><span class="lineno"> 6106</span>&#160;                        <span class="keywordflow">return</span> res + 5;</div><div class="line"><a name="l06107"></a><span class="lineno"> 6107</span>&#160;                    }</div><div class="line"><a name="l06108"></a><span class="lineno"> 6108</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l06109"></a><span class="lineno"> 6109</span>&#160;                    {</div><div class="line"><a name="l06110"></a><span class="lineno"> 6110</span>&#160;                        <span class="keywordflow">return</span> res;</div><div class="line"><a name="l06111"></a><span class="lineno"> 6111</span>&#160;                    }</div><div class="line"><a name="l06112"></a><span class="lineno"> 6112</span>&#160;                }</div><div class="line"><a name="l06113"></a><span class="lineno"> 6113</span>&#160;            }</div><div class="line"><a name="l06114"></a><span class="lineno"> 6114</span>&#160;        });</div><div class="line"><a name="l06115"></a><span class="lineno"> 6115</span>&#160;    }</div><div class="line"><a name="l06116"></a><span class="lineno"> 6116</span>&#160;</div><div class="line"><a name="l06130"></a><span class="lineno"> 6130</span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> escape_string(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s)</div><div class="line"><a name="l06131"></a><span class="lineno"> 6131</span>&#160;    {</div><div class="line"><a name="l06132"></a><span class="lineno"> 6132</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> space = extra_space(s);</div><div class="line"><a name="l06133"></a><span class="lineno"> 6133</span>&#160;        <span class="keywordflow">if</span> (space == 0)</div><div class="line"><a name="l06134"></a><span class="lineno"> 6134</span>&#160;        {</div><div class="line"><a name="l06135"></a><span class="lineno"> 6135</span>&#160;            <span class="keywordflow">return</span> s;</div><div class="line"><a name="l06136"></a><span class="lineno"> 6136</span>&#160;        }</div><div class="line"><a name="l06137"></a><span class="lineno"> 6137</span>&#160;</div><div class="line"><a name="l06138"></a><span class="lineno"> 6138</span>&#160;        <span class="comment">// create a result string of necessary size</span></div><div class="line"><a name="l06139"></a><span class="lineno"> 6139</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> result(s.size() + space, <span class="charliteral">&#39;\\&#39;</span>);</div><div class="line"><a name="l06140"></a><span class="lineno"> 6140</span>&#160;        std::size_t pos = 0;</div><div class="line"><a name="l06141"></a><span class="lineno"> 6141</span>&#160;</div><div class="line"><a name="l06142"></a><span class="lineno"> 6142</span>&#160;        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; c : s)</div><div class="line"><a name="l06143"></a><span class="lineno"> 6143</span>&#160;        {</div><div class="line"><a name="l06144"></a><span class="lineno"> 6144</span>&#160;            <span class="keywordflow">switch</span> (c)</div><div class="line"><a name="l06145"></a><span class="lineno"> 6145</span>&#160;            {</div><div class="line"><a name="l06146"></a><span class="lineno"> 6146</span>&#160;                <span class="comment">// quotation mark (0x22)</span></div><div class="line"><a name="l06147"></a><span class="lineno"> 6147</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;&quot;&#39;</span>:</div><div class="line"><a name="l06148"></a><span class="lineno"> 6148</span>&#160;                {</div><div class="line"><a name="l06149"></a><span class="lineno"> 6149</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;&quot;&#39;</span>;</div><div class="line"><a name="l06150"></a><span class="lineno"> 6150</span>&#160;                    pos += 2;</div><div class="line"><a name="l06151"></a><span class="lineno"> 6151</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06152"></a><span class="lineno"> 6152</span>&#160;                }</div><div class="line"><a name="l06153"></a><span class="lineno"> 6153</span>&#160;</div><div class="line"><a name="l06154"></a><span class="lineno"> 6154</span>&#160;                <span class="comment">// reverse solidus (0x5c)</span></div><div class="line"><a name="l06155"></a><span class="lineno"> 6155</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\\&#39;</span>:</div><div class="line"><a name="l06156"></a><span class="lineno"> 6156</span>&#160;                {</div><div class="line"><a name="l06157"></a><span class="lineno"> 6157</span>&#160;                    <span class="comment">// nothing to change</span></div><div class="line"><a name="l06158"></a><span class="lineno"> 6158</span>&#160;                    pos += 2;</div><div class="line"><a name="l06159"></a><span class="lineno"> 6159</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06160"></a><span class="lineno"> 6160</span>&#160;                }</div><div class="line"><a name="l06161"></a><span class="lineno"> 6161</span>&#160;</div><div class="line"><a name="l06162"></a><span class="lineno"> 6162</span>&#160;                <span class="comment">// backspace (0x08)</span></div><div class="line"><a name="l06163"></a><span class="lineno"> 6163</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\b&#39;</span>:</div><div class="line"><a name="l06164"></a><span class="lineno"> 6164</span>&#160;                {</div><div class="line"><a name="l06165"></a><span class="lineno"> 6165</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;b&#39;</span>;</div><div class="line"><a name="l06166"></a><span class="lineno"> 6166</span>&#160;                    pos += 2;</div><div class="line"><a name="l06167"></a><span class="lineno"> 6167</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06168"></a><span class="lineno"> 6168</span>&#160;                }</div><div class="line"><a name="l06169"></a><span class="lineno"> 6169</span>&#160;</div><div class="line"><a name="l06170"></a><span class="lineno"> 6170</span>&#160;                <span class="comment">// formfeed (0x0c)</span></div><div class="line"><a name="l06171"></a><span class="lineno"> 6171</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\f&#39;</span>:</div><div class="line"><a name="l06172"></a><span class="lineno"> 6172</span>&#160;                {</div><div class="line"><a name="l06173"></a><span class="lineno"> 6173</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;f&#39;</span>;</div><div class="line"><a name="l06174"></a><span class="lineno"> 6174</span>&#160;                    pos += 2;</div><div class="line"><a name="l06175"></a><span class="lineno"> 6175</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06176"></a><span class="lineno"> 6176</span>&#160;                }</div><div class="line"><a name="l06177"></a><span class="lineno"> 6177</span>&#160;</div><div class="line"><a name="l06178"></a><span class="lineno"> 6178</span>&#160;                <span class="comment">// newline (0x0a)</span></div><div class="line"><a name="l06179"></a><span class="lineno"> 6179</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\n&#39;</span>:</div><div class="line"><a name="l06180"></a><span class="lineno"> 6180</span>&#160;                {</div><div class="line"><a name="l06181"></a><span class="lineno"> 6181</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;n&#39;</span>;</div><div class="line"><a name="l06182"></a><span class="lineno"> 6182</span>&#160;                    pos += 2;</div><div class="line"><a name="l06183"></a><span class="lineno"> 6183</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06184"></a><span class="lineno"> 6184</span>&#160;                }</div><div class="line"><a name="l06185"></a><span class="lineno"> 6185</span>&#160;</div><div class="line"><a name="l06186"></a><span class="lineno"> 6186</span>&#160;                <span class="comment">// carriage return (0x0d)</span></div><div class="line"><a name="l06187"></a><span class="lineno"> 6187</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\r&#39;</span>:</div><div class="line"><a name="l06188"></a><span class="lineno"> 6188</span>&#160;                {</div><div class="line"><a name="l06189"></a><span class="lineno"> 6189</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;r&#39;</span>;</div><div class="line"><a name="l06190"></a><span class="lineno"> 6190</span>&#160;                    pos += 2;</div><div class="line"><a name="l06191"></a><span class="lineno"> 6191</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06192"></a><span class="lineno"> 6192</span>&#160;                }</div><div class="line"><a name="l06193"></a><span class="lineno"> 6193</span>&#160;</div><div class="line"><a name="l06194"></a><span class="lineno"> 6194</span>&#160;                <span class="comment">// horizontal tab (0x09)</span></div><div class="line"><a name="l06195"></a><span class="lineno"> 6195</span>&#160;                <span class="keywordflow">case</span> <span class="charliteral">&#39;\t&#39;</span>:</div><div class="line"><a name="l06196"></a><span class="lineno"> 6196</span>&#160;                {</div><div class="line"><a name="l06197"></a><span class="lineno"> 6197</span>&#160;                    result[pos + 1] = <span class="charliteral">&#39;t&#39;</span>;</div><div class="line"><a name="l06198"></a><span class="lineno"> 6198</span>&#160;                    pos += 2;</div><div class="line"><a name="l06199"></a><span class="lineno"> 6199</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06200"></a><span class="lineno"> 6200</span>&#160;                }</div><div class="line"><a name="l06201"></a><span class="lineno"> 6201</span>&#160;</div><div class="line"><a name="l06202"></a><span class="lineno"> 6202</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06203"></a><span class="lineno"> 6203</span>&#160;                {</div><div class="line"><a name="l06204"></a><span class="lineno"> 6204</span>&#160;                    <span class="keywordflow">if</span> (c &gt;= 0x00 and c &lt;= 0x1f)</div><div class="line"><a name="l06205"></a><span class="lineno"> 6205</span>&#160;                    {</div><div class="line"><a name="l06206"></a><span class="lineno"> 6206</span>&#160;                        <span class="comment">// convert a number 0..15 to its hex representation</span></div><div class="line"><a name="l06207"></a><span class="lineno"> 6207</span>&#160;                        <span class="comment">// (0..f)</span></div><div class="line"><a name="l06208"></a><span class="lineno"> 6208</span>&#160;                        <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> hexify[16] =</div><div class="line"><a name="l06209"></a><span class="lineno"> 6209</span>&#160;                        {</div><div class="line"><a name="l06210"></a><span class="lineno"> 6210</span>&#160;                            <span class="charliteral">&#39;0&#39;</span>, <span class="charliteral">&#39;1&#39;</span>, <span class="charliteral">&#39;2&#39;</span>, <span class="charliteral">&#39;3&#39;</span>, <span class="charliteral">&#39;4&#39;</span>, <span class="charliteral">&#39;5&#39;</span>, <span class="charliteral">&#39;6&#39;</span>, <span class="charliteral">&#39;7&#39;</span>,</div><div class="line"><a name="l06211"></a><span class="lineno"> 6211</span>&#160;                            <span class="charliteral">&#39;8&#39;</span>, <span class="charliteral">&#39;9&#39;</span>, <span class="charliteral">&#39;a&#39;</span>, <span class="charliteral">&#39;b&#39;</span>, <span class="charliteral">&#39;c&#39;</span>, <span class="charliteral">&#39;d&#39;</span>, <span class="charliteral">&#39;e&#39;</span>, <span class="charliteral">&#39;f&#39;</span></div><div class="line"><a name="l06212"></a><span class="lineno"> 6212</span>&#160;                        };</div><div class="line"><a name="l06213"></a><span class="lineno"> 6213</span>&#160;</div><div class="line"><a name="l06214"></a><span class="lineno"> 6214</span>&#160;                        <span class="comment">// print character c as \uxxxx</span></div><div class="line"><a name="l06215"></a><span class="lineno"> 6215</span>&#160;                        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keywordtype">char</span> m :</div><div class="line"><a name="l06216"></a><span class="lineno"> 6216</span>&#160;                    { <span class="charliteral">&#39;u&#39;</span>, <span class="charliteral">&#39;0&#39;</span>, <span class="charliteral">&#39;0&#39;</span>, hexify[c &gt;&gt; 4], hexify[c &amp; 0x0f]</div><div class="line"><a name="l06217"></a><span class="lineno"> 6217</span>&#160;                        })</div><div class="line"><a name="l06218"></a><span class="lineno"> 6218</span>&#160;                        {</div><div class="line"><a name="l06219"></a><span class="lineno"> 6219</span>&#160;                            result[++pos] = m;</div><div class="line"><a name="l06220"></a><span class="lineno"> 6220</span>&#160;                        }</div><div class="line"><a name="l06221"></a><span class="lineno"> 6221</span>&#160;</div><div class="line"><a name="l06222"></a><span class="lineno"> 6222</span>&#160;                        ++pos;</div><div class="line"><a name="l06223"></a><span class="lineno"> 6223</span>&#160;                    }</div><div class="line"><a name="l06224"></a><span class="lineno"> 6224</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l06225"></a><span class="lineno"> 6225</span>&#160;                    {</div><div class="line"><a name="l06226"></a><span class="lineno"> 6226</span>&#160;                        <span class="comment">// all other characters are added as-is</span></div><div class="line"><a name="l06227"></a><span class="lineno"> 6227</span>&#160;                        result[pos++] = c;</div><div class="line"><a name="l06228"></a><span class="lineno"> 6228</span>&#160;                    }</div><div class="line"><a name="l06229"></a><span class="lineno"> 6229</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06230"></a><span class="lineno"> 6230</span>&#160;                }</div><div class="line"><a name="l06231"></a><span class="lineno"> 6231</span>&#160;            }</div><div class="line"><a name="l06232"></a><span class="lineno"> 6232</span>&#160;        }</div><div class="line"><a name="l06233"></a><span class="lineno"> 6233</span>&#160;</div><div class="line"><a name="l06234"></a><span class="lineno"> 6234</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l06235"></a><span class="lineno"> 6235</span>&#160;    }</div><div class="line"><a name="l06236"></a><span class="lineno"> 6236</span>&#160;</div><div class="line"><a name="l06254"></a><span class="lineno"> 6254</span>&#160;    <span class="keywordtype">void</span> dump(std::ostream&amp; o,</div><div class="line"><a name="l06255"></a><span class="lineno"> 6255</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">bool</span> pretty_print,</div><div class="line"><a name="l06256"></a><span class="lineno"> 6256</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> indent_step,</div><div class="line"><a name="l06257"></a><span class="lineno"> 6257</span>&#160;              <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> current_indent = 0)<span class="keyword"> const</span></div><div class="line"><a name="l06258"></a><span class="lineno"> 6258</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l06259"></a><span class="lineno"> 6259</span>&#160;        <span class="comment">// variable to hold indentation for recursive calls</span></div><div class="line"><a name="l06260"></a><span class="lineno"> 6260</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> new_indent = current_indent;</div><div class="line"><a name="l06261"></a><span class="lineno"> 6261</span>&#160;</div><div class="line"><a name="l06262"></a><span class="lineno"> 6262</span>&#160;        <span class="keywordflow">switch</span> (m_type)</div><div class="line"><a name="l06263"></a><span class="lineno"> 6263</span>&#160;        {</div><div class="line"><a name="l06264"></a><span class="lineno"> 6264</span>&#160;            <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l06265"></a><span class="lineno"> 6265</span>&#160;            {</div><div class="line"><a name="l06266"></a><span class="lineno"> 6266</span>&#160;                <span class="keywordflow">if</span> (m_value.object-&gt;empty())</div><div class="line"><a name="l06267"></a><span class="lineno"> 6267</span>&#160;                {</div><div class="line"><a name="l06268"></a><span class="lineno"> 6268</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;{}&quot;</span>;</div><div class="line"><a name="l06269"></a><span class="lineno"> 6269</span>&#160;                    <span class="keywordflow">return</span>;</div><div class="line"><a name="l06270"></a><span class="lineno"> 6270</span>&#160;                }</div><div class="line"><a name="l06271"></a><span class="lineno"> 6271</span>&#160;</div><div class="line"><a name="l06272"></a><span class="lineno"> 6272</span>&#160;                o &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l06273"></a><span class="lineno"> 6273</span>&#160;</div><div class="line"><a name="l06274"></a><span class="lineno"> 6274</span>&#160;                <span class="comment">// increase indentation</span></div><div class="line"><a name="l06275"></a><span class="lineno"> 6275</span>&#160;                <span class="keywordflow">if</span> (pretty_print)</div><div class="line"><a name="l06276"></a><span class="lineno"> 6276</span>&#160;                {</div><div class="line"><a name="l06277"></a><span class="lineno"> 6277</span>&#160;                    new_indent += indent_step;</div><div class="line"><a name="l06278"></a><span class="lineno"> 6278</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l06279"></a><span class="lineno"> 6279</span>&#160;                }</div><div class="line"><a name="l06280"></a><span class="lineno"> 6280</span>&#160;</div><div class="line"><a name="l06281"></a><span class="lineno"> 6281</span>&#160;                <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = m_value.object-&gt;cbegin(); i != m_value.object-&gt;cend(); ++i)</div><div class="line"><a name="l06282"></a><span class="lineno"> 6282</span>&#160;                {</div><div class="line"><a name="l06283"></a><span class="lineno"> 6283</span>&#160;                    <span class="keywordflow">if</span> (i != m_value.object-&gt;cbegin())</div><div class="line"><a name="l06284"></a><span class="lineno"> 6284</span>&#160;                    {</div><div class="line"><a name="l06285"></a><span class="lineno"> 6285</span>&#160;                        o &lt;&lt; (pretty_print ? <span class="stringliteral">&quot;,\n&quot;</span> : <span class="stringliteral">&quot;,&quot;</span>);</div><div class="line"><a name="l06286"></a><span class="lineno"> 6286</span>&#160;                    }</div><div class="line"><a name="l06287"></a><span class="lineno"> 6287</span>&#160;                    o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(new_indent, <span class="charliteral">&#39; &#39;</span>) &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span></div><div class="line"><a name="l06288"></a><span class="lineno"> 6288</span>&#160;                      &lt;&lt; escape_string(i-&gt;first) &lt;&lt; <span class="stringliteral">&quot;\&quot;:&quot;</span></div><div class="line"><a name="l06289"></a><span class="lineno"> 6289</span>&#160;                      &lt;&lt; (pretty_print ? <span class="stringliteral">&quot; &quot;</span> : <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l06290"></a><span class="lineno"> 6290</span>&#160;                    i-&gt;second.dump(o, pretty_print, indent_step, new_indent);</div><div class="line"><a name="l06291"></a><span class="lineno"> 6291</span>&#160;                }</div><div class="line"><a name="l06292"></a><span class="lineno"> 6292</span>&#160;</div><div class="line"><a name="l06293"></a><span class="lineno"> 6293</span>&#160;                <span class="comment">// decrease indentation</span></div><div class="line"><a name="l06294"></a><span class="lineno"> 6294</span>&#160;                <span class="keywordflow">if</span> (pretty_print)</div><div class="line"><a name="l06295"></a><span class="lineno"> 6295</span>&#160;                {</div><div class="line"><a name="l06296"></a><span class="lineno"> 6296</span>&#160;                    new_indent -= indent_step;</div><div class="line"><a name="l06297"></a><span class="lineno"> 6297</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l06298"></a><span class="lineno"> 6298</span>&#160;                }</div><div class="line"><a name="l06299"></a><span class="lineno"> 6299</span>&#160;</div><div class="line"><a name="l06300"></a><span class="lineno"> 6300</span>&#160;                o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(new_indent, <span class="charliteral">&#39; &#39;</span>) + <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l06301"></a><span class="lineno"> 6301</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06302"></a><span class="lineno"> 6302</span>&#160;            }</div><div class="line"><a name="l06303"></a><span class="lineno"> 6303</span>&#160;</div><div class="line"><a name="l06304"></a><span class="lineno"> 6304</span>&#160;            <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l06305"></a><span class="lineno"> 6305</span>&#160;            {</div><div class="line"><a name="l06306"></a><span class="lineno"> 6306</span>&#160;                <span class="keywordflow">if</span> (m_value.array-&gt;empty())</div><div class="line"><a name="l06307"></a><span class="lineno"> 6307</span>&#160;                {</div><div class="line"><a name="l06308"></a><span class="lineno"> 6308</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;[]&quot;</span>;</div><div class="line"><a name="l06309"></a><span class="lineno"> 6309</span>&#160;                    <span class="keywordflow">return</span>;</div><div class="line"><a name="l06310"></a><span class="lineno"> 6310</span>&#160;                }</div><div class="line"><a name="l06311"></a><span class="lineno"> 6311</span>&#160;</div><div class="line"><a name="l06312"></a><span class="lineno"> 6312</span>&#160;                o &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div><div class="line"><a name="l06313"></a><span class="lineno"> 6313</span>&#160;</div><div class="line"><a name="l06314"></a><span class="lineno"> 6314</span>&#160;                <span class="comment">// increase indentation</span></div><div class="line"><a name="l06315"></a><span class="lineno"> 6315</span>&#160;                <span class="keywordflow">if</span> (pretty_print)</div><div class="line"><a name="l06316"></a><span class="lineno"> 6316</span>&#160;                {</div><div class="line"><a name="l06317"></a><span class="lineno"> 6317</span>&#160;                    new_indent += indent_step;</div><div class="line"><a name="l06318"></a><span class="lineno"> 6318</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l06319"></a><span class="lineno"> 6319</span>&#160;                }</div><div class="line"><a name="l06320"></a><span class="lineno"> 6320</span>&#160;</div><div class="line"><a name="l06321"></a><span class="lineno"> 6321</span>&#160;                <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = m_value.array-&gt;cbegin(); i != m_value.array-&gt;cend(); ++i)</div><div class="line"><a name="l06322"></a><span class="lineno"> 6322</span>&#160;                {</div><div class="line"><a name="l06323"></a><span class="lineno"> 6323</span>&#160;                    <span class="keywordflow">if</span> (i != m_value.array-&gt;cbegin())</div><div class="line"><a name="l06324"></a><span class="lineno"> 6324</span>&#160;                    {</div><div class="line"><a name="l06325"></a><span class="lineno"> 6325</span>&#160;                        o &lt;&lt; (pretty_print ? <span class="stringliteral">&quot;,\n&quot;</span> : <span class="stringliteral">&quot;,&quot;</span>);</div><div class="line"><a name="l06326"></a><span class="lineno"> 6326</span>&#160;                    }</div><div class="line"><a name="l06327"></a><span class="lineno"> 6327</span>&#160;                    o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(new_indent, <span class="charliteral">&#39; &#39;</span>);</div><div class="line"><a name="l06328"></a><span class="lineno"> 6328</span>&#160;                    i-&gt;dump(o, pretty_print, indent_step, new_indent);</div><div class="line"><a name="l06329"></a><span class="lineno"> 6329</span>&#160;                }</div><div class="line"><a name="l06330"></a><span class="lineno"> 6330</span>&#160;</div><div class="line"><a name="l06331"></a><span class="lineno"> 6331</span>&#160;                <span class="comment">// decrease indentation</span></div><div class="line"><a name="l06332"></a><span class="lineno"> 6332</span>&#160;                <span class="keywordflow">if</span> (pretty_print)</div><div class="line"><a name="l06333"></a><span class="lineno"> 6333</span>&#160;                {</div><div class="line"><a name="l06334"></a><span class="lineno"> 6334</span>&#160;                    new_indent -= indent_step;</div><div class="line"><a name="l06335"></a><span class="lineno"> 6335</span>&#160;                    o &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l06336"></a><span class="lineno"> 6336</span>&#160;                }</div><div class="line"><a name="l06337"></a><span class="lineno"> 6337</span>&#160;</div><div class="line"><a name="l06338"></a><span class="lineno"> 6338</span>&#160;                o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(new_indent, <span class="charliteral">&#39; &#39;</span>) &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div><div class="line"><a name="l06339"></a><span class="lineno"> 6339</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06340"></a><span class="lineno"> 6340</span>&#160;            }</div><div class="line"><a name="l06341"></a><span class="lineno"> 6341</span>&#160;</div><div class="line"><a name="l06342"></a><span class="lineno"> 6342</span>&#160;            <span class="keywordflow">case</span> value_t::string:</div><div class="line"><a name="l06343"></a><span class="lineno"> 6343</span>&#160;            {</div><div class="line"><a name="l06344"></a><span class="lineno"> 6344</span>&#160;                o &lt;&lt; <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(<span class="stringliteral">&quot;\&quot;&quot;</span>) &lt;&lt; escape_string(*m_value.string) &lt;&lt; <span class="stringliteral">&quot;\&quot;&quot;</span>;</div><div class="line"><a name="l06345"></a><span class="lineno"> 6345</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06346"></a><span class="lineno"> 6346</span>&#160;            }</div><div class="line"><a name="l06347"></a><span class="lineno"> 6347</span>&#160;</div><div class="line"><a name="l06348"></a><span class="lineno"> 6348</span>&#160;            <span class="keywordflow">case</span> value_t::boolean:</div><div class="line"><a name="l06349"></a><span class="lineno"> 6349</span>&#160;            {</div><div class="line"><a name="l06350"></a><span class="lineno"> 6350</span>&#160;                o &lt;&lt; (m_value.boolean ? <span class="stringliteral">&quot;true&quot;</span> : <span class="stringliteral">&quot;false&quot;</span>);</div><div class="line"><a name="l06351"></a><span class="lineno"> 6351</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06352"></a><span class="lineno"> 6352</span>&#160;            }</div><div class="line"><a name="l06353"></a><span class="lineno"> 6353</span>&#160;</div><div class="line"><a name="l06354"></a><span class="lineno"> 6354</span>&#160;            <span class="keywordflow">case</span> value_t::number_integer:</div><div class="line"><a name="l06355"></a><span class="lineno"> 6355</span>&#160;            {</div><div class="line"><a name="l06356"></a><span class="lineno"> 6356</span>&#160;                o &lt;&lt; m_value.number_integer;</div><div class="line"><a name="l06357"></a><span class="lineno"> 6357</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06358"></a><span class="lineno"> 6358</span>&#160;            }</div><div class="line"><a name="l06359"></a><span class="lineno"> 6359</span>&#160;</div><div class="line"><a name="l06360"></a><span class="lineno"> 6360</span>&#160;            <span class="keywordflow">case</span> value_t::number_unsigned:</div><div class="line"><a name="l06361"></a><span class="lineno"> 6361</span>&#160;            {</div><div class="line"><a name="l06362"></a><span class="lineno"> 6362</span>&#160;                o &lt;&lt; m_value.number_unsigned;</div><div class="line"><a name="l06363"></a><span class="lineno"> 6363</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06364"></a><span class="lineno"> 6364</span>&#160;            }</div><div class="line"><a name="l06365"></a><span class="lineno"> 6365</span>&#160;</div><div class="line"><a name="l06366"></a><span class="lineno"> 6366</span>&#160;            <span class="keywordflow">case</span> value_t::number_float:</div><div class="line"><a name="l06367"></a><span class="lineno"> 6367</span>&#160;            {</div><div class="line"><a name="l06368"></a><span class="lineno"> 6368</span>&#160;                <span class="keywordflow">if</span> (m_value.number_float == 0)</div><div class="line"><a name="l06369"></a><span class="lineno"> 6369</span>&#160;                {</div><div class="line"><a name="l06370"></a><span class="lineno"> 6370</span>&#160;                    <span class="comment">// special case for zero to get &quot;0.0&quot;/&quot;-0.0&quot;</span></div><div class="line"><a name="l06371"></a><span class="lineno"> 6371</span>&#160;                    o &lt;&lt; (std::signbit(m_value.number_float) ? <span class="stringliteral">&quot;-0.0&quot;</span> : <span class="stringliteral">&quot;0.0&quot;</span>);</div><div class="line"><a name="l06372"></a><span class="lineno"> 6372</span>&#160;                }</div><div class="line"><a name="l06373"></a><span class="lineno"> 6373</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l06374"></a><span class="lineno"> 6374</span>&#160;                {</div><div class="line"><a name="l06375"></a><span class="lineno"> 6375</span>&#160;                    o &lt;&lt; m_value.number_float;</div><div class="line"><a name="l06376"></a><span class="lineno"> 6376</span>&#160;                }</div><div class="line"><a name="l06377"></a><span class="lineno"> 6377</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06378"></a><span class="lineno"> 6378</span>&#160;            }</div><div class="line"><a name="l06379"></a><span class="lineno"> 6379</span>&#160;</div><div class="line"><a name="l06380"></a><span class="lineno"> 6380</span>&#160;            <span class="keywordflow">case</span> value_t::discarded:</div><div class="line"><a name="l06381"></a><span class="lineno"> 6381</span>&#160;            {</div><div class="line"><a name="l06382"></a><span class="lineno"> 6382</span>&#160;                o &lt;&lt; <span class="stringliteral">&quot;&lt;discarded&gt;&quot;</span>;</div><div class="line"><a name="l06383"></a><span class="lineno"> 6383</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06384"></a><span class="lineno"> 6384</span>&#160;            }</div><div class="line"><a name="l06385"></a><span class="lineno"> 6385</span>&#160;</div><div class="line"><a name="l06386"></a><span class="lineno"> 6386</span>&#160;            <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l06387"></a><span class="lineno"> 6387</span>&#160;            {</div><div class="line"><a name="l06388"></a><span class="lineno"> 6388</span>&#160;                o &lt;&lt; <span class="stringliteral">&quot;null&quot;</span>;</div><div class="line"><a name="l06389"></a><span class="lineno"> 6389</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l06390"></a><span class="lineno"> 6390</span>&#160;            }</div><div class="line"><a name="l06391"></a><span class="lineno"> 6391</span>&#160;        }</div><div class="line"><a name="l06392"></a><span class="lineno"> 6392</span>&#160;    }</div><div class="line"><a name="l06393"></a><span class="lineno"> 6393</span>&#160;</div><div class="line"><a name="l06394"></a><span class="lineno"> 6394</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l06396"></a><span class="lineno"> 6396</span>&#160;    <span class="comment">// member variables //</span></div><div class="line"><a name="l06398"></a><span class="lineno"> 6398</span>&#160;<span class="comment"></span></div><div class="line"><a name="l06400"></a><span class="lineno"> 6400</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> m_type = value_t::null;</div><div class="line"><a name="l06401"></a><span class="lineno"> 6401</span>&#160;</div><div class="line"><a name="l06403"></a><span class="lineno"> 6403</span>&#160;    json_value m_value = {};</div><div class="line"><a name="l06404"></a><span class="lineno"> 6404</span>&#160;</div><div class="line"><a name="l06405"></a><span class="lineno"> 6405</span>&#160;</div><div class="line"><a name="l06406"></a><span class="lineno"> 6406</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l06408"></a><span class="lineno"> 6408</span>&#160;    <span class="comment">// iterators //</span></div><div class="line"><a name="l06410"></a><span class="lineno"> 6410</span>&#160;<span class="comment"></span></div><div class="line"><a name="l06420"></a><span class="lineno"> 6420</span>&#160;    <span class="keyword">class </span>primitive_iterator_t</div><div class="line"><a name="l06421"></a><span class="lineno"> 6421</span>&#160;    {</div><div class="line"><a name="l06422"></a><span class="lineno"> 6422</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l06424"></a><span class="lineno"> 6424</span>&#160;        <span class="keywordtype">void</span> set_begin() noexcept</div><div class="line"><a name="l06425"></a><span class="lineno"> 6425</span>&#160;        {</div><div class="line"><a name="l06426"></a><span class="lineno"> 6426</span>&#160;            m_it = begin_value;</div><div class="line"><a name="l06427"></a><span class="lineno"> 6427</span>&#160;        }</div><div class="line"><a name="l06428"></a><span class="lineno"> 6428</span>&#160;</div><div class="line"><a name="l06430"></a><span class="lineno"> 6430</span>&#160;        <span class="keywordtype">void</span> set_end() noexcept</div><div class="line"><a name="l06431"></a><span class="lineno"> 6431</span>&#160;        {</div><div class="line"><a name="l06432"></a><span class="lineno"> 6432</span>&#160;            m_it = end_value;</div><div class="line"><a name="l06433"></a><span class="lineno"> 6433</span>&#160;        }</div><div class="line"><a name="l06434"></a><span class="lineno"> 6434</span>&#160;</div><div class="line"><a name="l06436"></a><span class="lineno"> 6436</span>&#160;        constexpr <span class="keywordtype">bool</span> is_begin() <span class="keyword">const</span> noexcept</div><div class="line"><a name="l06437"></a><span class="lineno"> 6437</span>&#160;        {</div><div class="line"><a name="l06438"></a><span class="lineno"> 6438</span>&#160;            <span class="keywordflow">return</span> (m_it == begin_value);</div><div class="line"><a name="l06439"></a><span class="lineno"> 6439</span>&#160;        }</div><div class="line"><a name="l06440"></a><span class="lineno"> 6440</span>&#160;</div><div class="line"><a name="l06442"></a><span class="lineno"> 6442</span>&#160;        constexpr <span class="keywordtype">bool</span> is_end() <span class="keyword">const</span> noexcept</div><div class="line"><a name="l06443"></a><span class="lineno"> 6443</span>&#160;        {</div><div class="line"><a name="l06444"></a><span class="lineno"> 6444</span>&#160;            <span class="keywordflow">return</span> (m_it == end_value);</div><div class="line"><a name="l06445"></a><span class="lineno"> 6445</span>&#160;        }</div><div class="line"><a name="l06446"></a><span class="lineno"> 6446</span>&#160;</div><div class="line"><a name="l06448"></a><span class="lineno"> 6448</span>&#160;        <span class="keyword">operator</span> <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a>&amp; () noexcept</div><div class="line"><a name="l06449"></a><span class="lineno"> 6449</span>&#160;        {</div><div class="line"><a name="l06450"></a><span class="lineno"> 6450</span>&#160;            <span class="keywordflow">return</span> m_it;</div><div class="line"><a name="l06451"></a><span class="lineno"> 6451</span>&#160;        }</div><div class="line"><a name="l06452"></a><span class="lineno"> 6452</span>&#160;</div><div class="line"><a name="l06454"></a><span class="lineno"> 6454</span>&#160;        constexpr <span class="keyword">operator</span> <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> () <span class="keyword">const</span> noexcept</div><div class="line"><a name="l06455"></a><span class="lineno"> 6455</span>&#160;        {</div><div class="line"><a name="l06456"></a><span class="lineno"> 6456</span>&#160;            <span class="keywordflow">return</span> m_it;</div><div class="line"><a name="l06457"></a><span class="lineno"> 6457</span>&#160;        }</div><div class="line"><a name="l06458"></a><span class="lineno"> 6458</span>&#160;</div><div class="line"><a name="l06459"></a><span class="lineno"> 6459</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l06460"></a><span class="lineno"> 6460</span>&#160;        <span class="keyword">static</span> constexpr <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> begin_value = 0;</div><div class="line"><a name="l06461"></a><span class="lineno"> 6461</span>&#160;        <span class="keyword">static</span> constexpr <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> end_value = begin_value + 1;</div><div class="line"><a name="l06462"></a><span class="lineno"> 6462</span>&#160;</div><div class="line"><a name="l06464"></a><span class="lineno"> 6464</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> m_it = std::numeric_limits&lt;std::ptrdiff_t&gt;::denorm_min();</div><div class="line"><a name="l06465"></a><span class="lineno"> 6465</span>&#160;    };</div><div class="line"><a name="l06466"></a><span class="lineno"> 6466</span>&#160;</div><div class="line"><a name="l06474"></a><span class="lineno"> 6474</span>&#160;    <span class="keyword">struct </span>internal_iterator</div><div class="line"><a name="l06475"></a><span class="lineno"> 6475</span>&#160;    {</div><div class="line"><a name="l06477"></a><span class="lineno"> 6477</span>&#160;        <span class="keyword">typename</span> object_t::iterator object_iterator;</div><div class="line"><a name="l06479"></a><span class="lineno"> 6479</span>&#160;        <span class="keyword">typename</span> array_t::iterator array_iterator;</div><div class="line"><a name="l06481"></a><span class="lineno"> 6481</span>&#160;        primitive_iterator_t primitive_iterator;</div><div class="line"><a name="l06482"></a><span class="lineno"> 6482</span>&#160;</div><div class="line"><a name="l06484"></a><span class="lineno"> 6484</span>&#160;        internal_iterator() noexcept</div><div class="line"><a name="l06485"></a><span class="lineno"> 6485</span>&#160;            : object_iterator(), array_iterator(), primitive_iterator()</div><div class="line"><a name="l06486"></a><span class="lineno"> 6486</span>&#160;        {}</div><div class="line"><a name="l06487"></a><span class="lineno"> 6487</span>&#160;    };</div><div class="line"><a name="l06488"></a><span class="lineno"> 6488</span>&#160;</div><div class="line"><a name="l06490"></a><span class="lineno"> 6490</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> IteratorType&gt;</div><div class="line"><a name="l06491"></a><span class="lineno"> 6491</span>&#160;    <span class="keyword">class </span>iteration_proxy</div><div class="line"><a name="l06492"></a><span class="lineno"> 6492</span>&#160;    {</div><div class="line"><a name="l06493"></a><span class="lineno"> 6493</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l06495"></a><span class="lineno"> 6495</span>&#160;        <span class="keyword">class </span>iteration_proxy_internal</div><div class="line"><a name="l06496"></a><span class="lineno"> 6496</span>&#160;        {</div><div class="line"><a name="l06497"></a><span class="lineno"> 6497</span>&#160;          <span class="keyword">private</span>:</div><div class="line"><a name="l06499"></a><span class="lineno"> 6499</span>&#160;            IteratorType anchor;</div><div class="line"><a name="l06501"></a><span class="lineno"> 6501</span>&#160;            <span class="keywordtype">size_t</span> array_index = 0;</div><div class="line"><a name="l06502"></a><span class="lineno"> 6502</span>&#160;</div><div class="line"><a name="l06503"></a><span class="lineno"> 6503</span>&#160;          <span class="keyword">public</span>:</div><div class="line"><a name="l06504"></a><span class="lineno"> 6504</span>&#160;            <span class="keyword">explicit</span> iteration_proxy_internal(IteratorType it) noexcept</div><div class="line"><a name="l06505"></a><span class="lineno"> 6505</span>&#160;                : anchor(it)</div><div class="line"><a name="l06506"></a><span class="lineno"> 6506</span>&#160;            {}</div><div class="line"><a name="l06507"></a><span class="lineno"> 6507</span>&#160;</div><div class="line"><a name="l06509"></a><span class="lineno"> 6509</span>&#160;            iteration_proxy_internal&amp; operator*()</div><div class="line"><a name="l06510"></a><span class="lineno"> 6510</span>&#160;            {</div><div class="line"><a name="l06511"></a><span class="lineno"> 6511</span>&#160;                <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06512"></a><span class="lineno"> 6512</span>&#160;            }</div><div class="line"><a name="l06513"></a><span class="lineno"> 6513</span>&#160;</div><div class="line"><a name="l06515"></a><span class="lineno"> 6515</span>&#160;            iteration_proxy_internal&amp; operator++()</div><div class="line"><a name="l06516"></a><span class="lineno"> 6516</span>&#160;            {</div><div class="line"><a name="l06517"></a><span class="lineno"> 6517</span>&#160;                ++anchor;</div><div class="line"><a name="l06518"></a><span class="lineno"> 6518</span>&#160;                ++array_index;</div><div class="line"><a name="l06519"></a><span class="lineno"> 6519</span>&#160;</div><div class="line"><a name="l06520"></a><span class="lineno"> 6520</span>&#160;                <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06521"></a><span class="lineno"> 6521</span>&#160;            }</div><div class="line"><a name="l06522"></a><span class="lineno"> 6522</span>&#160;</div><div class="line"><a name="l06524"></a><span class="lineno"> 6524</span>&#160;            <span class="keywordtype">bool</span> operator!= (<span class="keyword">const</span> iteration_proxy_internal&amp; o)<span class="keyword"> const</span></div><div class="line"><a name="l06525"></a><span class="lineno"> 6525</span>&#160;<span class="keyword">            </span>{</div><div class="line"><a name="l06526"></a><span class="lineno"> 6526</span>&#160;                <span class="keywordflow">return</span> anchor != o.anchor;</div><div class="line"><a name="l06527"></a><span class="lineno"> 6527</span>&#160;            }</div><div class="line"><a name="l06528"></a><span class="lineno"> 6528</span>&#160;</div><div class="line"><a name="l06530"></a><span class="lineno"> 6530</span>&#160;            <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">basic_json::string_t</a> key()<span class="keyword"> const</span></div><div class="line"><a name="l06531"></a><span class="lineno"> 6531</span>&#160;<span class="keyword">            </span>{</div><div class="line"><a name="l06532"></a><span class="lineno"> 6532</span>&#160;                assert(anchor.m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06533"></a><span class="lineno"> 6533</span>&#160;</div><div class="line"><a name="l06534"></a><span class="lineno"> 6534</span>&#160;                <span class="keywordflow">switch</span> (anchor.m_object-&gt;type())</div><div class="line"><a name="l06535"></a><span class="lineno"> 6535</span>&#160;                {</div><div class="line"><a name="l06536"></a><span class="lineno"> 6536</span>&#160;                    <span class="comment">// use integer array index as key</span></div><div class="line"><a name="l06537"></a><span class="lineno"> 6537</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l06538"></a><span class="lineno"> 6538</span>&#160;                    {</div><div class="line"><a name="l06539"></a><span class="lineno"> 6539</span>&#160;                        <span class="keywordflow">return</span> std::to_string(array_index);</div><div class="line"><a name="l06540"></a><span class="lineno"> 6540</span>&#160;                    }</div><div class="line"><a name="l06541"></a><span class="lineno"> 6541</span>&#160;</div><div class="line"><a name="l06542"></a><span class="lineno"> 6542</span>&#160;                    <span class="comment">// use key from the object</span></div><div class="line"><a name="l06543"></a><span class="lineno"> 6543</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l06544"></a><span class="lineno"> 6544</span>&#160;                    {</div><div class="line"><a name="l06545"></a><span class="lineno"> 6545</span>&#160;                        <span class="keywordflow">return</span> anchor.key();</div><div class="line"><a name="l06546"></a><span class="lineno"> 6546</span>&#160;                    }</div><div class="line"><a name="l06547"></a><span class="lineno"> 6547</span>&#160;</div><div class="line"><a name="l06548"></a><span class="lineno"> 6548</span>&#160;                    <span class="comment">// use an empty key for all primitive types</span></div><div class="line"><a name="l06549"></a><span class="lineno"> 6549</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l06550"></a><span class="lineno"> 6550</span>&#160;                    {</div><div class="line"><a name="l06551"></a><span class="lineno"> 6551</span>&#160;                        <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l06552"></a><span class="lineno"> 6552</span>&#160;                    }</div><div class="line"><a name="l06553"></a><span class="lineno"> 6553</span>&#160;                }</div><div class="line"><a name="l06554"></a><span class="lineno"> 6554</span>&#160;            }</div><div class="line"><a name="l06555"></a><span class="lineno"> 6555</span>&#160;</div><div class="line"><a name="l06557"></a><span class="lineno"> 6557</span>&#160;            <span class="keyword">typename</span> IteratorType::reference value()<span class="keyword"> const</span></div><div class="line"><a name="l06558"></a><span class="lineno"> 6558</span>&#160;<span class="keyword">            </span>{</div><div class="line"><a name="l06559"></a><span class="lineno"> 6559</span>&#160;                <span class="keywordflow">return</span> anchor.value();</div><div class="line"><a name="l06560"></a><span class="lineno"> 6560</span>&#160;            }</div><div class="line"><a name="l06561"></a><span class="lineno"> 6561</span>&#160;        };</div><div class="line"><a name="l06562"></a><span class="lineno"> 6562</span>&#160;</div><div class="line"><a name="l06564"></a><span class="lineno"> 6564</span>&#160;        <span class="keyword">typename</span> IteratorType::reference container;</div><div class="line"><a name="l06565"></a><span class="lineno"> 6565</span>&#160;</div><div class="line"><a name="l06566"></a><span class="lineno"> 6566</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l06568"></a><span class="lineno"> 6568</span>&#160;        <span class="keyword">explicit</span> iteration_proxy(<span class="keyword">typename</span> IteratorType::reference cont)</div><div class="line"><a name="l06569"></a><span class="lineno"> 6569</span>&#160;            : container(cont)</div><div class="line"><a name="l06570"></a><span class="lineno"> 6570</span>&#160;        {}</div><div class="line"><a name="l06571"></a><span class="lineno"> 6571</span>&#160;</div><div class="line"><a name="l06573"></a><span class="lineno"> 6573</span>&#160;        iteration_proxy_internal begin() noexcept</div><div class="line"><a name="l06574"></a><span class="lineno"> 6574</span>&#160;        {</div><div class="line"><a name="l06575"></a><span class="lineno"> 6575</span>&#160;            <span class="keywordflow">return</span> iteration_proxy_internal(container.begin());</div><div class="line"><a name="l06576"></a><span class="lineno"> 6576</span>&#160;        }</div><div class="line"><a name="l06577"></a><span class="lineno"> 6577</span>&#160;</div><div class="line"><a name="l06579"></a><span class="lineno"> 6579</span>&#160;        iteration_proxy_internal end() noexcept</div><div class="line"><a name="l06580"></a><span class="lineno"> 6580</span>&#160;        {</div><div class="line"><a name="l06581"></a><span class="lineno"> 6581</span>&#160;            <span class="keywordflow">return</span> iteration_proxy_internal(container.end());</div><div class="line"><a name="l06582"></a><span class="lineno"> 6582</span>&#160;        }</div><div class="line"><a name="l06583"></a><span class="lineno"> 6583</span>&#160;    };</div><div class="line"><a name="l06584"></a><span class="lineno"> 6584</span>&#160;</div><div class="line"><a name="l06585"></a><span class="lineno"> 6585</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l06605"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator.html"> 6605</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> : <span class="keyword">public</span> std::iterator&lt;std::random_access_iterator_tag, const basic_json&gt;</div><div class="line"><a name="l06606"></a><span class="lineno"> 6606</span>&#160;    {</div><div class="line"><a name="l06608"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html#ada3100cdb8700566051828f1355fa745"> 6608</a></span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>;</div><div class="line"><a name="l06609"></a><span class="lineno"> 6609</span>&#160;</div><div class="line"><a name="l06610"></a><span class="lineno"> 6610</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l06612"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html#a9ea0497199b1e96ce9cadd1f202ec343"> 6612</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html#a9ea0497199b1e96ce9cadd1f202ec343">value_type</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">basic_json::value_type</a>;</div><div class="line"><a name="l06614"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f"> 6614</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">basic_json::difference_type</a>;</div><div class="line"><a name="l06616"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389"> 6616</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">basic_json::const_pointer</a>;</div><div class="line"><a name="l06618"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2"> 6618</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">basic_json::const_reference</a>;</div><div class="line"><a name="l06620"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html#a821560d64f50525162097f19b1392e7f"> 6620</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html#a821560d64f50525162097f19b1392e7f">iterator_category</a> = std::bidirectional_iterator_tag;</div><div class="line"><a name="l06621"></a><span class="lineno"> 6621</span>&#160;</div><div class="line"><a name="l06623"></a><span class="lineno"> 6623</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l06624"></a><span class="lineno"> 6624</span>&#160;</div><div class="line"><a name="l06631"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html#a23de834b11bd895209aa65c100ab9ceb"> 6631</a></span>&#160;        <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html#a23de834b11bd895209aa65c100ab9ceb">const_iterator</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> <span class="keywordtype">object</span>) noexcept</div><div class="line"><a name="l06632"></a><span class="lineno"> 6632</span>&#160;            : m_object(<span class="keywordtype">object</span>)</div><div class="line"><a name="l06633"></a><span class="lineno"> 6633</span>&#160;        {</div><div class="line"><a name="l06634"></a><span class="lineno"> 6634</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06635"></a><span class="lineno"> 6635</span>&#160;</div><div class="line"><a name="l06636"></a><span class="lineno"> 6636</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06637"></a><span class="lineno"> 6637</span>&#160;            {</div><div class="line"><a name="l06638"></a><span class="lineno"> 6638</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06639"></a><span class="lineno"> 6639</span>&#160;                {</div><div class="line"><a name="l06640"></a><span class="lineno"> 6640</span>&#160;                    m_it.object_iterator = <span class="keyword">typename</span> object_t::iterator();</div><div class="line"><a name="l06641"></a><span class="lineno"> 6641</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06642"></a><span class="lineno"> 6642</span>&#160;                }</div><div class="line"><a name="l06643"></a><span class="lineno"> 6643</span>&#160;</div><div class="line"><a name="l06644"></a><span class="lineno"> 6644</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06645"></a><span class="lineno"> 6645</span>&#160;                {</div><div class="line"><a name="l06646"></a><span class="lineno"> 6646</span>&#160;                    m_it.array_iterator = <span class="keyword">typename</span> array_t::iterator();</div><div class="line"><a name="l06647"></a><span class="lineno"> 6647</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06648"></a><span class="lineno"> 6648</span>&#160;                }</div><div class="line"><a name="l06649"></a><span class="lineno"> 6649</span>&#160;</div><div class="line"><a name="l06650"></a><span class="lineno"> 6650</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06651"></a><span class="lineno"> 6651</span>&#160;                {</div><div class="line"><a name="l06652"></a><span class="lineno"> 6652</span>&#160;                    m_it.primitive_iterator = primitive_iterator_t();</div><div class="line"><a name="l06653"></a><span class="lineno"> 6653</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06654"></a><span class="lineno"> 6654</span>&#160;                }</div><div class="line"><a name="l06655"></a><span class="lineno"> 6655</span>&#160;            }</div><div class="line"><a name="l06656"></a><span class="lineno"> 6656</span>&#160;        }</div><div class="line"><a name="l06657"></a><span class="lineno"> 6657</span>&#160;</div><div class="line"><a name="l06663"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603"> 6663</a></span>&#160;        <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">const_iterator</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; other) noexcept</div><div class="line"><a name="l06664"></a><span class="lineno"> 6664</span>&#160;            : m_object(other.m_object)</div><div class="line"><a name="l06665"></a><span class="lineno"> 6665</span>&#160;        {</div><div class="line"><a name="l06666"></a><span class="lineno"> 6666</span>&#160;            <span class="keywordflow">if</span> (m_object != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l06667"></a><span class="lineno"> 6667</span>&#160;            {</div><div class="line"><a name="l06668"></a><span class="lineno"> 6668</span>&#160;                <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06669"></a><span class="lineno"> 6669</span>&#160;                {</div><div class="line"><a name="l06670"></a><span class="lineno"> 6670</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06671"></a><span class="lineno"> 6671</span>&#160;                    {</div><div class="line"><a name="l06672"></a><span class="lineno"> 6672</span>&#160;                        m_it.object_iterator = other.m_it.object_iterator;</div><div class="line"><a name="l06673"></a><span class="lineno"> 6673</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l06674"></a><span class="lineno"> 6674</span>&#160;                    }</div><div class="line"><a name="l06675"></a><span class="lineno"> 6675</span>&#160;</div><div class="line"><a name="l06676"></a><span class="lineno"> 6676</span>&#160;                    <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06677"></a><span class="lineno"> 6677</span>&#160;                    {</div><div class="line"><a name="l06678"></a><span class="lineno"> 6678</span>&#160;                        m_it.array_iterator = other.m_it.array_iterator;</div><div class="line"><a name="l06679"></a><span class="lineno"> 6679</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l06680"></a><span class="lineno"> 6680</span>&#160;                    }</div><div class="line"><a name="l06681"></a><span class="lineno"> 6681</span>&#160;</div><div class="line"><a name="l06682"></a><span class="lineno"> 6682</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l06683"></a><span class="lineno"> 6683</span>&#160;                    {</div><div class="line"><a name="l06684"></a><span class="lineno"> 6684</span>&#160;                        m_it.primitive_iterator = other.m_it.primitive_iterator;</div><div class="line"><a name="l06685"></a><span class="lineno"> 6685</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l06686"></a><span class="lineno"> 6686</span>&#160;                    }</div><div class="line"><a name="l06687"></a><span class="lineno"> 6687</span>&#160;                }</div><div class="line"><a name="l06688"></a><span class="lineno"> 6688</span>&#160;            }</div><div class="line"><a name="l06689"></a><span class="lineno"> 6689</span>&#160;        }</div><div class="line"><a name="l06690"></a><span class="lineno"> 6690</span>&#160;</div><div class="line"><a name="l06696"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8"> 6696</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8">const_iterator</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other) noexcept</div><div class="line"><a name="l06697"></a><span class="lineno"> 6697</span>&#160;            : m_object(other.m_object), m_it(other.m_it)</div><div class="line"><a name="l06698"></a><span class="lineno"> 6698</span>&#160;        {}</div><div class="line"><a name="l06699"></a><span class="lineno"> 6699</span>&#160;</div><div class="line"><a name="l06705"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html#a5521515067b6597cb0b55a9c547a7a2b"> 6705</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html#a5521515067b6597cb0b55a9c547a7a2b">operator=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> other) noexcept(</div><div class="line"><a name="l06706"></a><span class="lineno"> 6706</span>&#160;            std::is_nothrow_move_constructible&lt;pointer&gt;::value and</div><div class="line"><a name="l06707"></a><span class="lineno"> 6707</span>&#160;            std::is_nothrow_move_assignable&lt;pointer&gt;::value and</div><div class="line"><a name="l06708"></a><span class="lineno"> 6708</span>&#160;            std::is_nothrow_move_constructible&lt;internal_iterator&gt;::value and</div><div class="line"><a name="l06709"></a><span class="lineno"> 6709</span>&#160;            std::is_nothrow_move_assignable&lt;internal_iterator&gt;::value</div><div class="line"><a name="l06710"></a><span class="lineno"> 6710</span>&#160;        )</div><div class="line"><a name="l06711"></a><span class="lineno"> 6711</span>&#160;        {</div><div class="line"><a name="l06712"></a><span class="lineno"> 6712</span>&#160;            std::swap(m_object, other.m_object);</div><div class="line"><a name="l06713"></a><span class="lineno"> 6713</span>&#160;            std::swap(m_it, other.m_it);</div><div class="line"><a name="l06714"></a><span class="lineno"> 6714</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06715"></a><span class="lineno"> 6715</span>&#160;        }</div><div class="line"><a name="l06716"></a><span class="lineno"> 6716</span>&#160;</div><div class="line"><a name="l06717"></a><span class="lineno"> 6717</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l06722"></a><span class="lineno"> 6722</span>&#160;        <span class="keywordtype">void</span> set_begin() noexcept</div><div class="line"><a name="l06723"></a><span class="lineno"> 6723</span>&#160;        {</div><div class="line"><a name="l06724"></a><span class="lineno"> 6724</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06725"></a><span class="lineno"> 6725</span>&#160;</div><div class="line"><a name="l06726"></a><span class="lineno"> 6726</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06727"></a><span class="lineno"> 6727</span>&#160;            {</div><div class="line"><a name="l06728"></a><span class="lineno"> 6728</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06729"></a><span class="lineno"> 6729</span>&#160;                {</div><div class="line"><a name="l06730"></a><span class="lineno"> 6730</span>&#160;                    m_it.object_iterator = m_object-&gt;m_value.object-&gt;begin();</div><div class="line"><a name="l06731"></a><span class="lineno"> 6731</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06732"></a><span class="lineno"> 6732</span>&#160;                }</div><div class="line"><a name="l06733"></a><span class="lineno"> 6733</span>&#160;</div><div class="line"><a name="l06734"></a><span class="lineno"> 6734</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06735"></a><span class="lineno"> 6735</span>&#160;                {</div><div class="line"><a name="l06736"></a><span class="lineno"> 6736</span>&#160;                    m_it.array_iterator = m_object-&gt;m_value.array-&gt;begin();</div><div class="line"><a name="l06737"></a><span class="lineno"> 6737</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06738"></a><span class="lineno"> 6738</span>&#160;                }</div><div class="line"><a name="l06739"></a><span class="lineno"> 6739</span>&#160;</div><div class="line"><a name="l06740"></a><span class="lineno"> 6740</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">basic_json::value_t::null</a>:</div><div class="line"><a name="l06741"></a><span class="lineno"> 6741</span>&#160;                {</div><div class="line"><a name="l06742"></a><span class="lineno"> 6742</span>&#160;                    <span class="comment">// set to end so begin()==end() is true: null is empty</span></div><div class="line"><a name="l06743"></a><span class="lineno"> 6743</span>&#160;                    m_it.primitive_iterator.set_end();</div><div class="line"><a name="l06744"></a><span class="lineno"> 6744</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06745"></a><span class="lineno"> 6745</span>&#160;                }</div><div class="line"><a name="l06746"></a><span class="lineno"> 6746</span>&#160;</div><div class="line"><a name="l06747"></a><span class="lineno"> 6747</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06748"></a><span class="lineno"> 6748</span>&#160;                {</div><div class="line"><a name="l06749"></a><span class="lineno"> 6749</span>&#160;                    m_it.primitive_iterator.set_begin();</div><div class="line"><a name="l06750"></a><span class="lineno"> 6750</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06751"></a><span class="lineno"> 6751</span>&#160;                }</div><div class="line"><a name="l06752"></a><span class="lineno"> 6752</span>&#160;            }</div><div class="line"><a name="l06753"></a><span class="lineno"> 6753</span>&#160;        }</div><div class="line"><a name="l06754"></a><span class="lineno"> 6754</span>&#160;</div><div class="line"><a name="l06759"></a><span class="lineno"> 6759</span>&#160;        <span class="keywordtype">void</span> set_end() noexcept</div><div class="line"><a name="l06760"></a><span class="lineno"> 6760</span>&#160;        {</div><div class="line"><a name="l06761"></a><span class="lineno"> 6761</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06762"></a><span class="lineno"> 6762</span>&#160;</div><div class="line"><a name="l06763"></a><span class="lineno"> 6763</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06764"></a><span class="lineno"> 6764</span>&#160;            {</div><div class="line"><a name="l06765"></a><span class="lineno"> 6765</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06766"></a><span class="lineno"> 6766</span>&#160;                {</div><div class="line"><a name="l06767"></a><span class="lineno"> 6767</span>&#160;                    m_it.object_iterator = m_object-&gt;m_value.object-&gt;end();</div><div class="line"><a name="l06768"></a><span class="lineno"> 6768</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06769"></a><span class="lineno"> 6769</span>&#160;                }</div><div class="line"><a name="l06770"></a><span class="lineno"> 6770</span>&#160;</div><div class="line"><a name="l06771"></a><span class="lineno"> 6771</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06772"></a><span class="lineno"> 6772</span>&#160;                {</div><div class="line"><a name="l06773"></a><span class="lineno"> 6773</span>&#160;                    m_it.array_iterator = m_object-&gt;m_value.array-&gt;end();</div><div class="line"><a name="l06774"></a><span class="lineno"> 6774</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06775"></a><span class="lineno"> 6775</span>&#160;                }</div><div class="line"><a name="l06776"></a><span class="lineno"> 6776</span>&#160;</div><div class="line"><a name="l06777"></a><span class="lineno"> 6777</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06778"></a><span class="lineno"> 6778</span>&#160;                {</div><div class="line"><a name="l06779"></a><span class="lineno"> 6779</span>&#160;                    m_it.primitive_iterator.set_end();</div><div class="line"><a name="l06780"></a><span class="lineno"> 6780</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06781"></a><span class="lineno"> 6781</span>&#160;                }</div><div class="line"><a name="l06782"></a><span class="lineno"> 6782</span>&#160;            }</div><div class="line"><a name="l06783"></a><span class="lineno"> 6783</span>&#160;        }</div><div class="line"><a name="l06784"></a><span class="lineno"> 6784</span>&#160;</div><div class="line"><a name="l06785"></a><span class="lineno"> 6785</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l06790"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html#ab3029a1a83cf46dc28ad443bbad0c74d"> 6790</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html#ab3029a1a83cf46dc28ad443bbad0c74d">operator*</a>()<span class="keyword"> const</span></div><div class="line"><a name="l06791"></a><span class="lineno"> 6791</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06792"></a><span class="lineno"> 6792</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06793"></a><span class="lineno"> 6793</span>&#160;</div><div class="line"><a name="l06794"></a><span class="lineno"> 6794</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06795"></a><span class="lineno"> 6795</span>&#160;            {</div><div class="line"><a name="l06796"></a><span class="lineno"> 6796</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06797"></a><span class="lineno"> 6797</span>&#160;                {</div><div class="line"><a name="l06798"></a><span class="lineno"> 6798</span>&#160;                    assert(m_it.object_iterator != m_object-&gt;m_value.object-&gt;end());</div><div class="line"><a name="l06799"></a><span class="lineno"> 6799</span>&#160;                    <span class="keywordflow">return</span> m_it.object_iterator-&gt;second;</div><div class="line"><a name="l06800"></a><span class="lineno"> 6800</span>&#160;                }</div><div class="line"><a name="l06801"></a><span class="lineno"> 6801</span>&#160;</div><div class="line"><a name="l06802"></a><span class="lineno"> 6802</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06803"></a><span class="lineno"> 6803</span>&#160;                {</div><div class="line"><a name="l06804"></a><span class="lineno"> 6804</span>&#160;                    assert(m_it.array_iterator != m_object-&gt;m_value.array-&gt;end());</div><div class="line"><a name="l06805"></a><span class="lineno"> 6805</span>&#160;                    <span class="keywordflow">return</span> *m_it.array_iterator;</div><div class="line"><a name="l06806"></a><span class="lineno"> 6806</span>&#160;                }</div><div class="line"><a name="l06807"></a><span class="lineno"> 6807</span>&#160;</div><div class="line"><a name="l06808"></a><span class="lineno"> 6808</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">basic_json::value_t::null</a>:</div><div class="line"><a name="l06809"></a><span class="lineno"> 6809</span>&#160;                {</div><div class="line"><a name="l06810"></a><span class="lineno"> 6810</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l06811"></a><span class="lineno"> 6811</span>&#160;                }</div><div class="line"><a name="l06812"></a><span class="lineno"> 6812</span>&#160;</div><div class="line"><a name="l06813"></a><span class="lineno"> 6813</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06814"></a><span class="lineno"> 6814</span>&#160;                {</div><div class="line"><a name="l06815"></a><span class="lineno"> 6815</span>&#160;                    <span class="keywordflow">if</span> (m_it.primitive_iterator.is_begin())</div><div class="line"><a name="l06816"></a><span class="lineno"> 6816</span>&#160;                    {</div><div class="line"><a name="l06817"></a><span class="lineno"> 6817</span>&#160;                        <span class="keywordflow">return</span> *m_object;</div><div class="line"><a name="l06818"></a><span class="lineno"> 6818</span>&#160;                    }</div><div class="line"><a name="l06819"></a><span class="lineno"> 6819</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l06820"></a><span class="lineno"> 6820</span>&#160;                    {</div><div class="line"><a name="l06821"></a><span class="lineno"> 6821</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l06822"></a><span class="lineno"> 6822</span>&#160;                    }</div><div class="line"><a name="l06823"></a><span class="lineno"> 6823</span>&#160;                }</div><div class="line"><a name="l06824"></a><span class="lineno"> 6824</span>&#160;            }</div><div class="line"><a name="l06825"></a><span class="lineno"> 6825</span>&#160;        }</div><div class="line"><a name="l06826"></a><span class="lineno"> 6826</span>&#160;</div><div class="line"><a name="l06831"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html#a8be837e4d902887676dd837abe9098d3"> 6831</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html#a8be837e4d902887676dd837abe9098d3">operator-&gt;</a>()<span class="keyword"> const</span></div><div class="line"><a name="l06832"></a><span class="lineno"> 6832</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06833"></a><span class="lineno"> 6833</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06834"></a><span class="lineno"> 6834</span>&#160;</div><div class="line"><a name="l06835"></a><span class="lineno"> 6835</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06836"></a><span class="lineno"> 6836</span>&#160;            {</div><div class="line"><a name="l06837"></a><span class="lineno"> 6837</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06838"></a><span class="lineno"> 6838</span>&#160;                {</div><div class="line"><a name="l06839"></a><span class="lineno"> 6839</span>&#160;                    assert(m_it.object_iterator != m_object-&gt;m_value.object-&gt;end());</div><div class="line"><a name="l06840"></a><span class="lineno"> 6840</span>&#160;                    <span class="keywordflow">return</span> &amp;(m_it.object_iterator-&gt;second);</div><div class="line"><a name="l06841"></a><span class="lineno"> 6841</span>&#160;                }</div><div class="line"><a name="l06842"></a><span class="lineno"> 6842</span>&#160;</div><div class="line"><a name="l06843"></a><span class="lineno"> 6843</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06844"></a><span class="lineno"> 6844</span>&#160;                {</div><div class="line"><a name="l06845"></a><span class="lineno"> 6845</span>&#160;                    assert(m_it.array_iterator != m_object-&gt;m_value.array-&gt;end());</div><div class="line"><a name="l06846"></a><span class="lineno"> 6846</span>&#160;                    <span class="keywordflow">return</span> &amp;*m_it.array_iterator;</div><div class="line"><a name="l06847"></a><span class="lineno"> 6847</span>&#160;                }</div><div class="line"><a name="l06848"></a><span class="lineno"> 6848</span>&#160;</div><div class="line"><a name="l06849"></a><span class="lineno"> 6849</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06850"></a><span class="lineno"> 6850</span>&#160;                {</div><div class="line"><a name="l06851"></a><span class="lineno"> 6851</span>&#160;                    <span class="keywordflow">if</span> (m_it.primitive_iterator.is_begin())</div><div class="line"><a name="l06852"></a><span class="lineno"> 6852</span>&#160;                    {</div><div class="line"><a name="l06853"></a><span class="lineno"> 6853</span>&#160;                        <span class="keywordflow">return</span> m_object;</div><div class="line"><a name="l06854"></a><span class="lineno"> 6854</span>&#160;                    }</div><div class="line"><a name="l06855"></a><span class="lineno"> 6855</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l06856"></a><span class="lineno"> 6856</span>&#160;                    {</div><div class="line"><a name="l06857"></a><span class="lineno"> 6857</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l06858"></a><span class="lineno"> 6858</span>&#160;                    }</div><div class="line"><a name="l06859"></a><span class="lineno"> 6859</span>&#160;                }</div><div class="line"><a name="l06860"></a><span class="lineno"> 6860</span>&#160;            }</div><div class="line"><a name="l06861"></a><span class="lineno"> 6861</span>&#160;        }</div><div class="line"><a name="l06862"></a><span class="lineno"> 6862</span>&#160;</div><div class="line"><a name="l06867"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html#a8dbaec5bf8ccba3225520356629061cb"> 6867</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html#a8dbaec5bf8ccba3225520356629061cb">operator++</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l06868"></a><span class="lineno"> 6868</span>&#160;        {</div><div class="line"><a name="l06869"></a><span class="lineno"> 6869</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l06870"></a><span class="lineno"> 6870</span>&#160;            ++(*this);</div><div class="line"><a name="l06871"></a><span class="lineno"> 6871</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l06872"></a><span class="lineno"> 6872</span>&#160;        }</div><div class="line"><a name="l06873"></a><span class="lineno"> 6873</span>&#160;</div><div class="line"><a name="l06878"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html#a8fbb15efd97599209a7def77af8e748e"> 6878</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html#a8fbb15efd97599209a7def77af8e748e">operator++</a>()</div><div class="line"><a name="l06879"></a><span class="lineno"> 6879</span>&#160;        {</div><div class="line"><a name="l06880"></a><span class="lineno"> 6880</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06881"></a><span class="lineno"> 6881</span>&#160;</div><div class="line"><a name="l06882"></a><span class="lineno"> 6882</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06883"></a><span class="lineno"> 6883</span>&#160;            {</div><div class="line"><a name="l06884"></a><span class="lineno"> 6884</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06885"></a><span class="lineno"> 6885</span>&#160;                {</div><div class="line"><a name="l06886"></a><span class="lineno"> 6886</span>&#160;                    std::advance(m_it.object_iterator, 1);</div><div class="line"><a name="l06887"></a><span class="lineno"> 6887</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06888"></a><span class="lineno"> 6888</span>&#160;                }</div><div class="line"><a name="l06889"></a><span class="lineno"> 6889</span>&#160;</div><div class="line"><a name="l06890"></a><span class="lineno"> 6890</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06891"></a><span class="lineno"> 6891</span>&#160;                {</div><div class="line"><a name="l06892"></a><span class="lineno"> 6892</span>&#160;                    std::advance(m_it.array_iterator, 1);</div><div class="line"><a name="l06893"></a><span class="lineno"> 6893</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06894"></a><span class="lineno"> 6894</span>&#160;                }</div><div class="line"><a name="l06895"></a><span class="lineno"> 6895</span>&#160;</div><div class="line"><a name="l06896"></a><span class="lineno"> 6896</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06897"></a><span class="lineno"> 6897</span>&#160;                {</div><div class="line"><a name="l06898"></a><span class="lineno"> 6898</span>&#160;                    ++m_it.primitive_iterator;</div><div class="line"><a name="l06899"></a><span class="lineno"> 6899</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06900"></a><span class="lineno"> 6900</span>&#160;                }</div><div class="line"><a name="l06901"></a><span class="lineno"> 6901</span>&#160;            }</div><div class="line"><a name="l06902"></a><span class="lineno"> 6902</span>&#160;</div><div class="line"><a name="l06903"></a><span class="lineno"> 6903</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06904"></a><span class="lineno"> 6904</span>&#160;        }</div><div class="line"><a name="l06905"></a><span class="lineno"> 6905</span>&#160;</div><div class="line"><a name="l06910"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html#a6cab1c2ed7e2a014980e2a5717f43a64"> 6910</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html#a6cab1c2ed7e2a014980e2a5717f43a64">operator--</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l06911"></a><span class="lineno"> 6911</span>&#160;        {</div><div class="line"><a name="l06912"></a><span class="lineno"> 6912</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l06913"></a><span class="lineno"> 6913</span>&#160;            --(*this);</div><div class="line"><a name="l06914"></a><span class="lineno"> 6914</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l06915"></a><span class="lineno"> 6915</span>&#160;        }</div><div class="line"><a name="l06916"></a><span class="lineno"> 6916</span>&#160;</div><div class="line"><a name="l06921"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html#adeb2ff3fdf3cc301b72db109934c9199"> 6921</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html#adeb2ff3fdf3cc301b72db109934c9199">operator--</a>()</div><div class="line"><a name="l06922"></a><span class="lineno"> 6922</span>&#160;        {</div><div class="line"><a name="l06923"></a><span class="lineno"> 6923</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06924"></a><span class="lineno"> 6924</span>&#160;</div><div class="line"><a name="l06925"></a><span class="lineno"> 6925</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06926"></a><span class="lineno"> 6926</span>&#160;            {</div><div class="line"><a name="l06927"></a><span class="lineno"> 6927</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06928"></a><span class="lineno"> 6928</span>&#160;                {</div><div class="line"><a name="l06929"></a><span class="lineno"> 6929</span>&#160;                    std::advance(m_it.object_iterator, -1);</div><div class="line"><a name="l06930"></a><span class="lineno"> 6930</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06931"></a><span class="lineno"> 6931</span>&#160;                }</div><div class="line"><a name="l06932"></a><span class="lineno"> 6932</span>&#160;</div><div class="line"><a name="l06933"></a><span class="lineno"> 6933</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06934"></a><span class="lineno"> 6934</span>&#160;                {</div><div class="line"><a name="l06935"></a><span class="lineno"> 6935</span>&#160;                    std::advance(m_it.array_iterator, -1);</div><div class="line"><a name="l06936"></a><span class="lineno"> 6936</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06937"></a><span class="lineno"> 6937</span>&#160;                }</div><div class="line"><a name="l06938"></a><span class="lineno"> 6938</span>&#160;</div><div class="line"><a name="l06939"></a><span class="lineno"> 6939</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06940"></a><span class="lineno"> 6940</span>&#160;                {</div><div class="line"><a name="l06941"></a><span class="lineno"> 6941</span>&#160;                    --m_it.primitive_iterator;</div><div class="line"><a name="l06942"></a><span class="lineno"> 6942</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l06943"></a><span class="lineno"> 6943</span>&#160;                }</div><div class="line"><a name="l06944"></a><span class="lineno"> 6944</span>&#160;            }</div><div class="line"><a name="l06945"></a><span class="lineno"> 6945</span>&#160;</div><div class="line"><a name="l06946"></a><span class="lineno"> 6946</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l06947"></a><span class="lineno"> 6947</span>&#160;        }</div><div class="line"><a name="l06948"></a><span class="lineno"> 6948</span>&#160;</div><div class="line"><a name="l06953"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html#ab4c0b9baaec9ebc4837158e272f6c803"> 6953</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html#ab4c0b9baaec9ebc4837158e272f6c803">operator==</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06954"></a><span class="lineno"> 6954</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06955"></a><span class="lineno"> 6955</span>&#160;            <span class="comment">// if objects are not the same, the comparison is undefined</span></div><div class="line"><a name="l06956"></a><span class="lineno"> 6956</span>&#160;            <span class="keywordflow">if</span> (m_object != other.m_object)</div><div class="line"><a name="l06957"></a><span class="lineno"> 6957</span>&#160;            {</div><div class="line"><a name="l06958"></a><span class="lineno"> 6958</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot compare iterators of different containers&quot;</span>);</div><div class="line"><a name="l06959"></a><span class="lineno"> 6959</span>&#160;            }</div><div class="line"><a name="l06960"></a><span class="lineno"> 6960</span>&#160;</div><div class="line"><a name="l06961"></a><span class="lineno"> 6961</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l06962"></a><span class="lineno"> 6962</span>&#160;</div><div class="line"><a name="l06963"></a><span class="lineno"> 6963</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l06964"></a><span class="lineno"> 6964</span>&#160;            {</div><div class="line"><a name="l06965"></a><span class="lineno"> 6965</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l06966"></a><span class="lineno"> 6966</span>&#160;                {</div><div class="line"><a name="l06967"></a><span class="lineno"> 6967</span>&#160;                    <span class="keywordflow">return</span> (m_it.object_iterator == other.m_it.object_iterator);</div><div class="line"><a name="l06968"></a><span class="lineno"> 6968</span>&#160;                }</div><div class="line"><a name="l06969"></a><span class="lineno"> 6969</span>&#160;</div><div class="line"><a name="l06970"></a><span class="lineno"> 6970</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l06971"></a><span class="lineno"> 6971</span>&#160;                {</div><div class="line"><a name="l06972"></a><span class="lineno"> 6972</span>&#160;                    <span class="keywordflow">return</span> (m_it.array_iterator == other.m_it.array_iterator);</div><div class="line"><a name="l06973"></a><span class="lineno"> 6973</span>&#160;                }</div><div class="line"><a name="l06974"></a><span class="lineno"> 6974</span>&#160;</div><div class="line"><a name="l06975"></a><span class="lineno"> 6975</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l06976"></a><span class="lineno"> 6976</span>&#160;                {</div><div class="line"><a name="l06977"></a><span class="lineno"> 6977</span>&#160;                    <span class="keywordflow">return</span> (m_it.primitive_iterator == other.m_it.primitive_iterator);</div><div class="line"><a name="l06978"></a><span class="lineno"> 6978</span>&#160;                }</div><div class="line"><a name="l06979"></a><span class="lineno"> 6979</span>&#160;            }</div><div class="line"><a name="l06980"></a><span class="lineno"> 6980</span>&#160;        }</div><div class="line"><a name="l06981"></a><span class="lineno"> 6981</span>&#160;</div><div class="line"><a name="l06986"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html#a9e4c6e48e3c2f3ff357ef8215b8c8fca"> 6986</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html#a9e4c6e48e3c2f3ff357ef8215b8c8fca">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06987"></a><span class="lineno"> 6987</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06988"></a><span class="lineno"> 6988</span>&#160;            <span class="keywordflow">return</span> not operator==(other);</div><div class="line"><a name="l06989"></a><span class="lineno"> 6989</span>&#160;        }</div><div class="line"><a name="l06990"></a><span class="lineno"> 6990</span>&#160;</div><div class="line"><a name="l06995"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html#a65f491b515e5967e9c0b40289e3c0ff3"> 6995</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html#a65f491b515e5967e9c0b40289e3c0ff3">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l06996"></a><span class="lineno"> 6996</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l06997"></a><span class="lineno"> 6997</span>&#160;            <span class="comment">// if objects are not the same, the comparison is undefined</span></div><div class="line"><a name="l06998"></a><span class="lineno"> 6998</span>&#160;            <span class="keywordflow">if</span> (m_object != other.m_object)</div><div class="line"><a name="l06999"></a><span class="lineno"> 6999</span>&#160;            {</div><div class="line"><a name="l07000"></a><span class="lineno"> 7000</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot compare iterators of different containers&quot;</span>);</div><div class="line"><a name="l07001"></a><span class="lineno"> 7001</span>&#160;            }</div><div class="line"><a name="l07002"></a><span class="lineno"> 7002</span>&#160;</div><div class="line"><a name="l07003"></a><span class="lineno"> 7003</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07004"></a><span class="lineno"> 7004</span>&#160;</div><div class="line"><a name="l07005"></a><span class="lineno"> 7005</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l07006"></a><span class="lineno"> 7006</span>&#160;            {</div><div class="line"><a name="l07007"></a><span class="lineno"> 7007</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l07008"></a><span class="lineno"> 7008</span>&#160;                {</div><div class="line"><a name="l07009"></a><span class="lineno"> 7009</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot compare order of object iterators&quot;</span>);</div><div class="line"><a name="l07010"></a><span class="lineno"> 7010</span>&#160;                }</div><div class="line"><a name="l07011"></a><span class="lineno"> 7011</span>&#160;</div><div class="line"><a name="l07012"></a><span class="lineno"> 7012</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l07013"></a><span class="lineno"> 7013</span>&#160;                {</div><div class="line"><a name="l07014"></a><span class="lineno"> 7014</span>&#160;                    <span class="keywordflow">return</span> (m_it.array_iterator &lt; other.m_it.array_iterator);</div><div class="line"><a name="l07015"></a><span class="lineno"> 7015</span>&#160;                }</div><div class="line"><a name="l07016"></a><span class="lineno"> 7016</span>&#160;</div><div class="line"><a name="l07017"></a><span class="lineno"> 7017</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l07018"></a><span class="lineno"> 7018</span>&#160;                {</div><div class="line"><a name="l07019"></a><span class="lineno"> 7019</span>&#160;                    <span class="keywordflow">return</span> (m_it.primitive_iterator &lt; other.m_it.primitive_iterator);</div><div class="line"><a name="l07020"></a><span class="lineno"> 7020</span>&#160;                }</div><div class="line"><a name="l07021"></a><span class="lineno"> 7021</span>&#160;            }</div><div class="line"><a name="l07022"></a><span class="lineno"> 7022</span>&#160;        }</div><div class="line"><a name="l07023"></a><span class="lineno"> 7023</span>&#160;</div><div class="line"><a name="l07028"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html#a6b682f09787eff62f03493d45aa05902"> 7028</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html#a6b682f09787eff62f03493d45aa05902">operator&lt;=</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l07029"></a><span class="lineno"> 7029</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07030"></a><span class="lineno"> 7030</span>&#160;            <span class="keywordflow">return</span> not other.operator &lt; (*this);</div><div class="line"><a name="l07031"></a><span class="lineno"> 7031</span>&#160;        }</div><div class="line"><a name="l07032"></a><span class="lineno"> 7032</span>&#160;</div><div class="line"><a name="l07037"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html#acb6cd0ff760933afeb7f93e5207f3646"> 7037</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html#acb6cd0ff760933afeb7f93e5207f3646">operator&gt;</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l07038"></a><span class="lineno"> 7038</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07039"></a><span class="lineno"> 7039</span>&#160;            <span class="keywordflow">return</span> not operator&lt;=(other);</div><div class="line"><a name="l07040"></a><span class="lineno"> 7040</span>&#160;        }</div><div class="line"><a name="l07041"></a><span class="lineno"> 7041</span>&#160;</div><div class="line"><a name="l07046"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html#af6941c3711dabb2e64960dd57e00d201"> 7046</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html#af6941c3711dabb2e64960dd57e00d201">operator&gt;=</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l07047"></a><span class="lineno"> 7047</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07048"></a><span class="lineno"> 7048</span>&#160;            <span class="keywordflow">return</span> not operator&lt;(other);</div><div class="line"><a name="l07049"></a><span class="lineno"> 7049</span>&#160;        }</div><div class="line"><a name="l07050"></a><span class="lineno"> 7050</span>&#160;</div><div class="line"><a name="l07055"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html#a0d5820d1dda9dea3bbeb029cacf68522"> 7055</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html#a0d5820d1dda9dea3bbeb029cacf68522">operator+=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l07056"></a><span class="lineno"> 7056</span>&#160;        {</div><div class="line"><a name="l07057"></a><span class="lineno"> 7057</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07058"></a><span class="lineno"> 7058</span>&#160;</div><div class="line"><a name="l07059"></a><span class="lineno"> 7059</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l07060"></a><span class="lineno"> 7060</span>&#160;            {</div><div class="line"><a name="l07061"></a><span class="lineno"> 7061</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l07062"></a><span class="lineno"> 7062</span>&#160;                {</div><div class="line"><a name="l07063"></a><span class="lineno"> 7063</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use offsets with object iterators&quot;</span>);</div><div class="line"><a name="l07064"></a><span class="lineno"> 7064</span>&#160;                }</div><div class="line"><a name="l07065"></a><span class="lineno"> 7065</span>&#160;</div><div class="line"><a name="l07066"></a><span class="lineno"> 7066</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l07067"></a><span class="lineno"> 7067</span>&#160;                {</div><div class="line"><a name="l07068"></a><span class="lineno"> 7068</span>&#160;                    std::advance(m_it.array_iterator, i);</div><div class="line"><a name="l07069"></a><span class="lineno"> 7069</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l07070"></a><span class="lineno"> 7070</span>&#160;                }</div><div class="line"><a name="l07071"></a><span class="lineno"> 7071</span>&#160;</div><div class="line"><a name="l07072"></a><span class="lineno"> 7072</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l07073"></a><span class="lineno"> 7073</span>&#160;                {</div><div class="line"><a name="l07074"></a><span class="lineno"> 7074</span>&#160;                    m_it.primitive_iterator += i;</div><div class="line"><a name="l07075"></a><span class="lineno"> 7075</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l07076"></a><span class="lineno"> 7076</span>&#160;                }</div><div class="line"><a name="l07077"></a><span class="lineno"> 7077</span>&#160;            }</div><div class="line"><a name="l07078"></a><span class="lineno"> 7078</span>&#160;</div><div class="line"><a name="l07079"></a><span class="lineno"> 7079</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07080"></a><span class="lineno"> 7080</span>&#160;        }</div><div class="line"><a name="l07081"></a><span class="lineno"> 7081</span>&#160;</div><div class="line"><a name="l07086"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html#aefac8f3e390ac917f021761f4a8f8e71"> 7086</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html#aefac8f3e390ac917f021761f4a8f8e71">operator-=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l07087"></a><span class="lineno"> 7087</span>&#160;        {</div><div class="line"><a name="l07088"></a><span class="lineno"> 7088</span>&#160;            <span class="keywordflow">return</span> operator+=(-i);</div><div class="line"><a name="l07089"></a><span class="lineno"> 7089</span>&#160;        }</div><div class="line"><a name="l07090"></a><span class="lineno"> 7090</span>&#160;</div><div class="line"><a name="l07095"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html#a7a80257f2303210b0a5d056fc0b30b40"> 7095</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html#a7a80257f2303210b0a5d056fc0b30b40">operator+</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l07096"></a><span class="lineno"> 7096</span>&#160;        {</div><div class="line"><a name="l07097"></a><span class="lineno"> 7097</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07098"></a><span class="lineno"> 7098</span>&#160;            result += i;</div><div class="line"><a name="l07099"></a><span class="lineno"> 7099</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07100"></a><span class="lineno"> 7100</span>&#160;        }</div><div class="line"><a name="l07101"></a><span class="lineno"> 7101</span>&#160;</div><div class="line"><a name="l07106"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html#abc4552ba2fe39e7901a83dd6d4dec151"> 7106</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html#abc4552ba2fe39e7901a83dd6d4dec151">operator-</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l07107"></a><span class="lineno"> 7107</span>&#160;        {</div><div class="line"><a name="l07108"></a><span class="lineno"> 7108</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07109"></a><span class="lineno"> 7109</span>&#160;            result -= i;</div><div class="line"><a name="l07110"></a><span class="lineno"> 7110</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07111"></a><span class="lineno"> 7111</span>&#160;        }</div><div class="line"><a name="l07112"></a><span class="lineno"> 7112</span>&#160;</div><div class="line"><a name="l07117"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html#a5e4d98a8f95e2eccde8cd48c19efa196"> 7117</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html#a5e4d98a8f95e2eccde8cd48c19efa196">operator-</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l07118"></a><span class="lineno"> 7118</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07119"></a><span class="lineno"> 7119</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07120"></a><span class="lineno"> 7120</span>&#160;</div><div class="line"><a name="l07121"></a><span class="lineno"> 7121</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l07122"></a><span class="lineno"> 7122</span>&#160;            {</div><div class="line"><a name="l07123"></a><span class="lineno"> 7123</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l07124"></a><span class="lineno"> 7124</span>&#160;                {</div><div class="line"><a name="l07125"></a><span class="lineno"> 7125</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use offsets with object iterators&quot;</span>);</div><div class="line"><a name="l07126"></a><span class="lineno"> 7126</span>&#160;                }</div><div class="line"><a name="l07127"></a><span class="lineno"> 7127</span>&#160;</div><div class="line"><a name="l07128"></a><span class="lineno"> 7128</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l07129"></a><span class="lineno"> 7129</span>&#160;                {</div><div class="line"><a name="l07130"></a><span class="lineno"> 7130</span>&#160;                    <span class="keywordflow">return</span> m_it.array_iterator - other.m_it.array_iterator;</div><div class="line"><a name="l07131"></a><span class="lineno"> 7131</span>&#160;                }</div><div class="line"><a name="l07132"></a><span class="lineno"> 7132</span>&#160;</div><div class="line"><a name="l07133"></a><span class="lineno"> 7133</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l07134"></a><span class="lineno"> 7134</span>&#160;                {</div><div class="line"><a name="l07135"></a><span class="lineno"> 7135</span>&#160;                    <span class="keywordflow">return</span> m_it.primitive_iterator - other.m_it.primitive_iterator;</div><div class="line"><a name="l07136"></a><span class="lineno"> 7136</span>&#160;                }</div><div class="line"><a name="l07137"></a><span class="lineno"> 7137</span>&#160;            }</div><div class="line"><a name="l07138"></a><span class="lineno"> 7138</span>&#160;        }</div><div class="line"><a name="l07139"></a><span class="lineno"> 7139</span>&#160;</div><div class="line"><a name="l07144"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html#a7bd530bfbbc58ac77308c087120c21fa"> 7144</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html#a7bd530bfbbc58ac77308c087120c21fa">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> n)<span class="keyword"> const</span></div><div class="line"><a name="l07145"></a><span class="lineno"> 7145</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07146"></a><span class="lineno"> 7146</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07147"></a><span class="lineno"> 7147</span>&#160;</div><div class="line"><a name="l07148"></a><span class="lineno"> 7148</span>&#160;            <span class="keywordflow">switch</span> (m_object-&gt;m_type)</div><div class="line"><a name="l07149"></a><span class="lineno"> 7149</span>&#160;            {</div><div class="line"><a name="l07150"></a><span class="lineno"> 7150</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">basic_json::value_t::object</a>:</div><div class="line"><a name="l07151"></a><span class="lineno"> 7151</span>&#160;                {</div><div class="line"><a name="l07152"></a><span class="lineno"> 7152</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use operator[] for object iterators&quot;</span>);</div><div class="line"><a name="l07153"></a><span class="lineno"> 7153</span>&#160;                }</div><div class="line"><a name="l07154"></a><span class="lineno"> 7154</span>&#160;</div><div class="line"><a name="l07155"></a><span class="lineno"> 7155</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">basic_json::value_t::array</a>:</div><div class="line"><a name="l07156"></a><span class="lineno"> 7156</span>&#160;                {</div><div class="line"><a name="l07157"></a><span class="lineno"> 7157</span>&#160;                    <span class="keywordflow">return</span> *std::next(m_it.array_iterator, n);</div><div class="line"><a name="l07158"></a><span class="lineno"> 7158</span>&#160;                }</div><div class="line"><a name="l07159"></a><span class="lineno"> 7159</span>&#160;</div><div class="line"><a name="l07160"></a><span class="lineno"> 7160</span>&#160;                <span class="keywordflow">case</span> <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">basic_json::value_t::null</a>:</div><div class="line"><a name="l07161"></a><span class="lineno"> 7161</span>&#160;                {</div><div class="line"><a name="l07162"></a><span class="lineno"> 7162</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l07163"></a><span class="lineno"> 7163</span>&#160;                }</div><div class="line"><a name="l07164"></a><span class="lineno"> 7164</span>&#160;</div><div class="line"><a name="l07165"></a><span class="lineno"> 7165</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l07166"></a><span class="lineno"> 7166</span>&#160;                {</div><div class="line"><a name="l07167"></a><span class="lineno"> 7167</span>&#160;                    <span class="keywordflow">if</span> (m_it.primitive_iterator == -n)</div><div class="line"><a name="l07168"></a><span class="lineno"> 7168</span>&#160;                    {</div><div class="line"><a name="l07169"></a><span class="lineno"> 7169</span>&#160;                        <span class="keywordflow">return</span> *m_object;</div><div class="line"><a name="l07170"></a><span class="lineno"> 7170</span>&#160;                    }</div><div class="line"><a name="l07171"></a><span class="lineno"> 7171</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l07172"></a><span class="lineno"> 7172</span>&#160;                    {</div><div class="line"><a name="l07173"></a><span class="lineno"> 7173</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;cannot get value&quot;</span>);</div><div class="line"><a name="l07174"></a><span class="lineno"> 7174</span>&#160;                    }</div><div class="line"><a name="l07175"></a><span class="lineno"> 7175</span>&#160;                }</div><div class="line"><a name="l07176"></a><span class="lineno"> 7176</span>&#160;            }</div><div class="line"><a name="l07177"></a><span class="lineno"> 7177</span>&#160;        }</div><div class="line"><a name="l07178"></a><span class="lineno"> 7178</span>&#160;</div><div class="line"><a name="l07183"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html#a5d4320e24fcb7df041ff2c95d976dba0"> 7183</a></span>&#160;        <span class="keyword">typename</span> object_t::key_type <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html#a5d4320e24fcb7df041ff2c95d976dba0">key</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07184"></a><span class="lineno"> 7184</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07185"></a><span class="lineno"> 7185</span>&#160;            assert(m_object != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07186"></a><span class="lineno"> 7186</span>&#160;</div><div class="line"><a name="l07187"></a><span class="lineno"> 7187</span>&#160;            <span class="keywordflow">if</span> (m_object-&gt;is_object())</div><div class="line"><a name="l07188"></a><span class="lineno"> 7188</span>&#160;            {</div><div class="line"><a name="l07189"></a><span class="lineno"> 7189</span>&#160;                <span class="keywordflow">return</span> m_it.object_iterator-&gt;first;</div><div class="line"><a name="l07190"></a><span class="lineno"> 7190</span>&#160;            }</div><div class="line"><a name="l07191"></a><span class="lineno"> 7191</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l07192"></a><span class="lineno"> 7192</span>&#160;            {</div><div class="line"><a name="l07193"></a><span class="lineno"> 7193</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;cannot use key() for non-object iterators&quot;</span>);</div><div class="line"><a name="l07194"></a><span class="lineno"> 7194</span>&#160;            }</div><div class="line"><a name="l07195"></a><span class="lineno"> 7195</span>&#160;        }</div><div class="line"><a name="l07196"></a><span class="lineno"> 7196</span>&#160;</div><div class="line"><a name="l07201"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd"> 7201</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd">value</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07202"></a><span class="lineno"> 7202</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07203"></a><span class="lineno"> 7203</span>&#160;            <span class="keywordflow">return</span> operator*();</div><div class="line"><a name="l07204"></a><span class="lineno"> 7204</span>&#160;        }</div><div class="line"><a name="l07205"></a><span class="lineno"> 7205</span>&#160;</div><div class="line"><a name="l07206"></a><span class="lineno"> 7206</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l07208"></a><span class="lineno"> 7208</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> m_object = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l07210"></a><span class="lineno"> 7210</span>&#160;        internal_iterator m_it = internal_iterator();</div><div class="line"><a name="l07211"></a><span class="lineno"> 7211</span>&#160;    };</div><div class="line"><a name="l07212"></a><span class="lineno"> 7212</span>&#160;</div><div class="line"><a name="l07225"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator.html"> 7225</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> : <span class="keyword">public</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a></div><div class="line"><a name="l07226"></a><span class="lineno"> 7226</span>&#160;    {</div><div class="line"><a name="l07227"></a><span class="lineno"> 7227</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l07228"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_ac48754e4dc48d65d95294bd170dcd857.html#ac48754e4dc48d65d95294bd170dcd857"> 7228</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">base_iterator</a> = <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">const_iterator</a>;</div><div class="line"><a name="l07229"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a3aae1df93a78b201d98e178c1c7d02a7.html#a3aae1df93a78b201d98e178c1c7d02a7"> 7229</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">basic_json::pointer</a>;</div><div class="line"><a name="l07230"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a97aff5d71246774267a81066460dd1cf.html#a97aff5d71246774267a81066460dd1cf"> 7230</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> = <span class="keyword">typename</span> <a class="code" href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">basic_json::reference</a>;</div><div class="line"><a name="l07231"></a><span class="lineno"> 7231</span>&#160;</div><div class="line"><a name="l07233"></a><span class="lineno"> 7233</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l07234"></a><span class="lineno"> 7234</span>&#160;</div><div class="line"><a name="l07236"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html#a085fe0d8cf459b5b1ae7b518b933ae7d"> 7236</a></span>&#160;        <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html#a085fe0d8cf459b5b1ae7b518b933ae7d">iterator</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> <span class="keywordtype">object</span>) noexcept</div><div class="line"><a name="l07237"></a><span class="lineno"> 7237</span>&#160;            : <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">base_iterator</a>(<span class="keywordtype">object</span>)</div><div class="line"><a name="l07238"></a><span class="lineno"> 7238</span>&#160;        {}</div><div class="line"><a name="l07239"></a><span class="lineno"> 7239</span>&#160;</div><div class="line"><a name="l07241"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html#a1de0975e812c83e74d118b3e1063f335"> 7241</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html#a1de0975e812c83e74d118b3e1063f335">iterator</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; other) noexcept</div><div class="line"><a name="l07242"></a><span class="lineno"> 7242</span>&#160;            : <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator.html">base_iterator</a>(other)</div><div class="line"><a name="l07243"></a><span class="lineno"> 7243</span>&#160;        {}</div><div class="line"><a name="l07244"></a><span class="lineno"> 7244</span>&#160;</div><div class="line"><a name="l07246"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html#a3db892729714c4e7eaf60c00ee96e2e9"> 7246</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html#a3db892729714c4e7eaf60c00ee96e2e9">operator=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> other) noexcept(</div><div class="line"><a name="l07247"></a><span class="lineno"> 7247</span>&#160;            std::is_nothrow_move_constructible&lt;pointer&gt;::value and</div><div class="line"><a name="l07248"></a><span class="lineno"> 7248</span>&#160;            std::is_nothrow_move_assignable&lt;pointer&gt;::value and</div><div class="line"><a name="l07249"></a><span class="lineno"> 7249</span>&#160;            std::is_nothrow_move_constructible&lt;internal_iterator&gt;::value and</div><div class="line"><a name="l07250"></a><span class="lineno"> 7250</span>&#160;            std::is_nothrow_move_assignable&lt;internal_iterator&gt;::value</div><div class="line"><a name="l07251"></a><span class="lineno"> 7251</span>&#160;        )</div><div class="line"><a name="l07252"></a><span class="lineno"> 7252</span>&#160;        {</div><div class="line"><a name="l07253"></a><span class="lineno"> 7253</span>&#160;            base_iterator::operator=(other);</div><div class="line"><a name="l07254"></a><span class="lineno"> 7254</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07255"></a><span class="lineno"> 7255</span>&#160;        }</div><div class="line"><a name="l07256"></a><span class="lineno"> 7256</span>&#160;</div><div class="line"><a name="l07258"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html#acbd82115f9232c3d3b5dacc78315b9da"> 7258</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html#acbd82115f9232c3d3b5dacc78315b9da">operator*</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07259"></a><span class="lineno"> 7259</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07260"></a><span class="lineno"> 7260</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a><span class="keyword">&gt;</span>(base_iterator::operator*());</div><div class="line"><a name="l07261"></a><span class="lineno"> 7261</span>&#160;        }</div><div class="line"><a name="l07262"></a><span class="lineno"> 7262</span>&#160;</div><div class="line"><a name="l07264"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html#a8de46badb5b2177c85c672a71bcca017"> 7264</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html#a8de46badb5b2177c85c672a71bcca017">operator-&gt;</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07265"></a><span class="lineno"> 7265</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07266"></a><span class="lineno"> 7266</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">pointer</a><span class="keyword">&gt;</span>(base_iterator::operator-&gt;());</div><div class="line"><a name="l07267"></a><span class="lineno"> 7267</span>&#160;        }</div><div class="line"><a name="l07268"></a><span class="lineno"> 7268</span>&#160;</div><div class="line"><a name="l07270"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html#a2943e49b3d88e6ee5793c5923ab2ede9"> 7270</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html#a2943e49b3d88e6ee5793c5923ab2ede9">operator++</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l07271"></a><span class="lineno"> 7271</span>&#160;        {</div><div class="line"><a name="l07272"></a><span class="lineno"> 7272</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07273"></a><span class="lineno"> 7273</span>&#160;            base_iterator::operator++();</div><div class="line"><a name="l07274"></a><span class="lineno"> 7274</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07275"></a><span class="lineno"> 7275</span>&#160;        }</div><div class="line"><a name="l07276"></a><span class="lineno"> 7276</span>&#160;</div><div class="line"><a name="l07278"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html#a050b7fa21051ea57e5b0cc03668b5d4a"> 7278</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html#a050b7fa21051ea57e5b0cc03668b5d4a">operator++</a>()</div><div class="line"><a name="l07279"></a><span class="lineno"> 7279</span>&#160;        {</div><div class="line"><a name="l07280"></a><span class="lineno"> 7280</span>&#160;            base_iterator::operator++();</div><div class="line"><a name="l07281"></a><span class="lineno"> 7281</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07282"></a><span class="lineno"> 7282</span>&#160;        }</div><div class="line"><a name="l07283"></a><span class="lineno"> 7283</span>&#160;</div><div class="line"><a name="l07285"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html#ab4f238aa5fcf452b1884b748b0395b1f"> 7285</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html#ab4f238aa5fcf452b1884b748b0395b1f">operator--</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l07286"></a><span class="lineno"> 7286</span>&#160;        {</div><div class="line"><a name="l07287"></a><span class="lineno"> 7287</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07288"></a><span class="lineno"> 7288</span>&#160;            base_iterator::operator--();</div><div class="line"><a name="l07289"></a><span class="lineno"> 7289</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07290"></a><span class="lineno"> 7290</span>&#160;        }</div><div class="line"><a name="l07291"></a><span class="lineno"> 7291</span>&#160;</div><div class="line"><a name="l07293"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html#ab3679dc63b3a59edb98b1c2b96d8683c"> 7293</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html#ab3679dc63b3a59edb98b1c2b96d8683c">operator--</a>()</div><div class="line"><a name="l07294"></a><span class="lineno"> 7294</span>&#160;        {</div><div class="line"><a name="l07295"></a><span class="lineno"> 7295</span>&#160;            base_iterator::operator--();</div><div class="line"><a name="l07296"></a><span class="lineno"> 7296</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07297"></a><span class="lineno"> 7297</span>&#160;        }</div><div class="line"><a name="l07298"></a><span class="lineno"> 7298</span>&#160;</div><div class="line"><a name="l07300"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html#ae0c848dbc0af1cde15771d45d775b27c"> 7300</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html#ae0c848dbc0af1cde15771d45d775b27c">operator+=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l07301"></a><span class="lineno"> 7301</span>&#160;        {</div><div class="line"><a name="l07302"></a><span class="lineno"> 7302</span>&#160;            base_iterator::operator+=(i);</div><div class="line"><a name="l07303"></a><span class="lineno"> 7303</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07304"></a><span class="lineno"> 7304</span>&#160;        }</div><div class="line"><a name="l07305"></a><span class="lineno"> 7305</span>&#160;</div><div class="line"><a name="l07307"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html#afe86d48d3e4e5ebdaaec162b3cf0e95c"> 7307</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html#afe86d48d3e4e5ebdaaec162b3cf0e95c">operator-=</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l07308"></a><span class="lineno"> 7308</span>&#160;        {</div><div class="line"><a name="l07309"></a><span class="lineno"> 7309</span>&#160;            base_iterator::operator-=(i);</div><div class="line"><a name="l07310"></a><span class="lineno"> 7310</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07311"></a><span class="lineno"> 7311</span>&#160;        }</div><div class="line"><a name="l07312"></a><span class="lineno"> 7312</span>&#160;</div><div class="line"><a name="l07314"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html#a56952f8d5702541f0d88e6a764d2ae36"> 7314</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html#a56952f8d5702541f0d88e6a764d2ae36">operator+</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l07315"></a><span class="lineno"> 7315</span>&#160;        {</div><div class="line"><a name="l07316"></a><span class="lineno"> 7316</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07317"></a><span class="lineno"> 7317</span>&#160;            result += i;</div><div class="line"><a name="l07318"></a><span class="lineno"> 7318</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07319"></a><span class="lineno"> 7319</span>&#160;        }</div><div class="line"><a name="l07320"></a><span class="lineno"> 7320</span>&#160;</div><div class="line"><a name="l07322"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html#a790f550ff168095c83c2e459c575916c"> 7322</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html#a790f550ff168095c83c2e459c575916c">operator-</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> i)</div><div class="line"><a name="l07323"></a><span class="lineno"> 7323</span>&#160;        {</div><div class="line"><a name="l07324"></a><span class="lineno"> 7324</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07325"></a><span class="lineno"> 7325</span>&#160;            result -= i;</div><div class="line"><a name="l07326"></a><span class="lineno"> 7326</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07327"></a><span class="lineno"> 7327</span>&#160;        }</div><div class="line"><a name="l07328"></a><span class="lineno"> 7328</span>&#160;</div><div class="line"><a name="l07330"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html#a9f3940ac5fb2c6ff8045ed59b8a0866f"> 7330</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html#a9f3940ac5fb2c6ff8045ed59b8a0866f">operator-</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator.html">iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l07331"></a><span class="lineno"> 7331</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07332"></a><span class="lineno"> 7332</span>&#160;            <span class="keywordflow">return</span> base_iterator::operator-(other);</div><div class="line"><a name="l07333"></a><span class="lineno"> 7333</span>&#160;        }</div><div class="line"><a name="l07334"></a><span class="lineno"> 7334</span>&#160;</div><div class="line"><a name="l07336"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html#a7e01532727c10f87926dac4eb8e170f4"> 7336</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html#a7e01532727c10f87926dac4eb8e170f4">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">difference_type</a> n)<span class="keyword"> const</span></div><div class="line"><a name="l07337"></a><span class="lineno"> 7337</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07338"></a><span class="lineno"> 7338</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a><span class="keyword">&gt;</span>(base_iterator::operator[](n));</div><div class="line"><a name="l07339"></a><span class="lineno"> 7339</span>&#160;        }</div><div class="line"><a name="l07340"></a><span class="lineno"> 7340</span>&#160;</div><div class="line"><a name="l07342"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f"> 7342</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f">value</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07343"></a><span class="lineno"> 7343</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07344"></a><span class="lineno"> 7344</span>&#160;            <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">reference</a><span class="keyword">&gt;</span>(base_iterator::value());</div><div class="line"><a name="l07345"></a><span class="lineno"> 7345</span>&#160;        }</div><div class="line"><a name="l07346"></a><span class="lineno"> 7346</span>&#160;    };</div><div class="line"><a name="l07347"></a><span class="lineno"> 7347</span>&#160;</div><div class="line"><a name="l07365"></a><span class="lineno"> 7365</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Base&gt;</div><div class="line"><a name="l07366"></a><span class="lineno"> 7366</span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> : <span class="keyword">public</span> std::reverse_iterator&lt;Base&gt;</div><div class="line"><a name="l07367"></a><span class="lineno"> 7367</span>&#160;    {</div><div class="line"><a name="l07368"></a><span class="lineno"> 7368</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l07370"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e"> 7370</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">base_iterator</a> = std::reverse_iterator&lt;Base&gt;;</div><div class="line"><a name="l07372"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3"> 7372</a></span>&#160;        <span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3">reference</a> = <span class="keyword">typename</span> Base::reference;</div><div class="line"><a name="l07373"></a><span class="lineno"> 7373</span>&#160;</div><div class="line"><a name="l07375"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html#a86c97bbb8ebe19aef4656cf796e30e99"> 7375</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html#a86c97bbb8ebe19aef4656cf796e30e99">json_reverse_iterator</a>(<span class="keyword">const</span> <span class="keyword">typename</span> base_iterator::iterator_type&amp; it) noexcept</div><div class="line"><a name="l07376"></a><span class="lineno"> 7376</span>&#160;            : <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">base_iterator</a>(it)</div><div class="line"><a name="l07377"></a><span class="lineno"> 7377</span>&#160;        {}</div><div class="line"><a name="l07378"></a><span class="lineno"> 7378</span>&#160;</div><div class="line"><a name="l07380"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html#a530f042e2ab1c83dddfc344931b0375a"> 7380</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html#a530f042e2ab1c83dddfc344931b0375a">json_reverse_iterator</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">base_iterator</a>&amp; it) noexcept</div><div class="line"><a name="l07381"></a><span class="lineno"> 7381</span>&#160;            : <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">base_iterator</a>(it)</div><div class="line"><a name="l07382"></a><span class="lineno"> 7382</span>&#160;        {}</div><div class="line"><a name="l07383"></a><span class="lineno"> 7383</span>&#160;</div><div class="line"><a name="l07385"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html#a545a8204cfd6836eb85abc3113a0bb28"> 7385</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html#a545a8204cfd6836eb85abc3113a0bb28">operator++</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l07386"></a><span class="lineno"> 7386</span>&#160;        {</div><div class="line"><a name="l07387"></a><span class="lineno"> 7387</span>&#160;            <span class="keywordflow">return</span> base_iterator::operator++(1);</div><div class="line"><a name="l07388"></a><span class="lineno"> 7388</span>&#160;        }</div><div class="line"><a name="l07389"></a><span class="lineno"> 7389</span>&#160;</div><div class="line"><a name="l07391"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html#a4aede52d6ee253a510897518b59e09c0"> 7391</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html#a4aede52d6ee253a510897518b59e09c0">operator++</a>()</div><div class="line"><a name="l07392"></a><span class="lineno"> 7392</span>&#160;        {</div><div class="line"><a name="l07393"></a><span class="lineno"> 7393</span>&#160;            base_iterator::operator++();</div><div class="line"><a name="l07394"></a><span class="lineno"> 7394</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07395"></a><span class="lineno"> 7395</span>&#160;        }</div><div class="line"><a name="l07396"></a><span class="lineno"> 7396</span>&#160;</div><div class="line"><a name="l07398"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html#a693439bffe56a9a8cf53bc4a06b911ff"> 7398</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html#a693439bffe56a9a8cf53bc4a06b911ff">operator--</a>(<span class="keywordtype">int</span>)</div><div class="line"><a name="l07399"></a><span class="lineno"> 7399</span>&#160;        {</div><div class="line"><a name="l07400"></a><span class="lineno"> 7400</span>&#160;            <span class="keywordflow">return</span> base_iterator::operator--(1);</div><div class="line"><a name="l07401"></a><span class="lineno"> 7401</span>&#160;        }</div><div class="line"><a name="l07402"></a><span class="lineno"> 7402</span>&#160;</div><div class="line"><a name="l07404"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html#a563a7bd281e9919798d18396107fb05c"> 7404</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html#a563a7bd281e9919798d18396107fb05c">operator--</a>()</div><div class="line"><a name="l07405"></a><span class="lineno"> 7405</span>&#160;        {</div><div class="line"><a name="l07406"></a><span class="lineno"> 7406</span>&#160;            base_iterator::operator--();</div><div class="line"><a name="l07407"></a><span class="lineno"> 7407</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07408"></a><span class="lineno"> 7408</span>&#160;        }</div><div class="line"><a name="l07409"></a><span class="lineno"> 7409</span>&#160;</div><div class="line"><a name="l07411"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html#a9accc9dd9f9033f50c0ab6bcf337ffe0"> 7411</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>&amp; <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html#a9accc9dd9f9033f50c0ab6bcf337ffe0">operator+=</a>(<a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> i)</div><div class="line"><a name="l07412"></a><span class="lineno"> 7412</span>&#160;        {</div><div class="line"><a name="l07413"></a><span class="lineno"> 7413</span>&#160;            base_iterator::operator+=(i);</div><div class="line"><a name="l07414"></a><span class="lineno"> 7414</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l07415"></a><span class="lineno"> 7415</span>&#160;        }</div><div class="line"><a name="l07416"></a><span class="lineno"> 7416</span>&#160;</div><div class="line"><a name="l07418"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html#a99ee137dab7e5c948457f6a5321b54b1"> 7418</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html#a99ee137dab7e5c948457f6a5321b54b1">operator+</a>(<a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> i)<span class="keyword"> const</span></div><div class="line"><a name="l07419"></a><span class="lineno"> 7419</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07420"></a><span class="lineno"> 7420</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07421"></a><span class="lineno"> 7421</span>&#160;            result += i;</div><div class="line"><a name="l07422"></a><span class="lineno"> 7422</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07423"></a><span class="lineno"> 7423</span>&#160;        }</div><div class="line"><a name="l07424"></a><span class="lineno"> 7424</span>&#160;</div><div class="line"><a name="l07426"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html#ac2634bee082633671125e909dffad40a"> 7426</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html#ac2634bee082633671125e909dffad40a">operator-</a>(<a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> i)<span class="keyword"> const</span></div><div class="line"><a name="l07427"></a><span class="lineno"> 7427</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07428"></a><span class="lineno"> 7428</span>&#160;            <span class="keyword">auto</span> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l07429"></a><span class="lineno"> 7429</span>&#160;            result -= i;</div><div class="line"><a name="l07430"></a><span class="lineno"> 7430</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07431"></a><span class="lineno"> 7431</span>&#160;        }</div><div class="line"><a name="l07432"></a><span class="lineno"> 7432</span>&#160;</div><div class="line"><a name="l07434"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html#a115fae3dd8ae02669fedae0545ce1cbc"> 7434</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html#a115fae3dd8ae02669fedae0545ce1cbc">operator-</a>(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">json_reverse_iterator</a>&amp; other)<span class="keyword"> const</span></div><div class="line"><a name="l07435"></a><span class="lineno"> 7435</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07436"></a><span class="lineno"> 7436</span>&#160;            <span class="keywordflow">return</span> this-&gt;base() - other.base();</div><div class="line"><a name="l07437"></a><span class="lineno"> 7437</span>&#160;        }</div><div class="line"><a name="l07438"></a><span class="lineno"> 7438</span>&#160;</div><div class="line"><a name="l07440"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html#ad4ec2bbb8347e7aa3b58e616fd6c7f40"> 7440</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html#ad4ec2bbb8347e7aa3b58e616fd6c7f40">operator[]</a>(<a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a> n)<span class="keyword"> const</span></div><div class="line"><a name="l07441"></a><span class="lineno"> 7441</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07442"></a><span class="lineno"> 7442</span>&#160;            <span class="keywordflow">return</span> *(this-&gt;operator+(n));</div><div class="line"><a name="l07443"></a><span class="lineno"> 7443</span>&#160;        }</div><div class="line"><a name="l07444"></a><span class="lineno"> 7444</span>&#160;</div><div class="line"><a name="l07446"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html#acecae6d237fcf14c909fb42b9d2e2955"> 7446</a></span>&#160;        <span class="keyword">typename</span> object_t::key_type <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html#acecae6d237fcf14c909fb42b9d2e2955">key</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07447"></a><span class="lineno"> 7447</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07448"></a><span class="lineno"> 7448</span>&#160;            <span class="keyword">auto</span> it = --this-&gt;base();</div><div class="line"><a name="l07449"></a><span class="lineno"> 7449</span>&#160;            <span class="keywordflow">return</span> it.key();</div><div class="line"><a name="l07450"></a><span class="lineno"> 7450</span>&#160;        }</div><div class="line"><a name="l07451"></a><span class="lineno"> 7451</span>&#160;</div><div class="line"><a name="l07453"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b"> 7453</a></span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3">reference</a> <a class="code" href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b">value</a>()<span class="keyword"> const</span></div><div class="line"><a name="l07454"></a><span class="lineno"> 7454</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l07455"></a><span class="lineno"> 7455</span>&#160;            <span class="keyword">auto</span> it = --this-&gt;base();</div><div class="line"><a name="l07456"></a><span class="lineno"> 7456</span>&#160;            <span class="keywordflow">return</span> it.operator * ();</div><div class="line"><a name="l07457"></a><span class="lineno"> 7457</span>&#160;        }</div><div class="line"><a name="l07458"></a><span class="lineno"> 7458</span>&#160;    };</div><div class="line"><a name="l07459"></a><span class="lineno"> 7459</span>&#160;</div><div class="line"><a name="l07460"></a><span class="lineno"> 7460</span>&#160;</div><div class="line"><a name="l07461"></a><span class="lineno"> 7461</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l07463"></a><span class="lineno"> 7463</span>&#160;    <span class="comment">// lexer and parser //</span></div><div class="line"><a name="l07465"></a><span class="lineno"> 7465</span>&#160;<span class="comment"></span></div><div class="line"><a name="l07473"></a><span class="lineno"> 7473</span>&#160;    <span class="keyword">class </span>lexer</div><div class="line"><a name="l07474"></a><span class="lineno"> 7474</span>&#160;    {</div><div class="line"><a name="l07475"></a><span class="lineno"> 7475</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l07477"></a><span class="lineno"> 7477</span>&#160;        <span class="keyword">enum class</span> token_type</div><div class="line"><a name="l07478"></a><span class="lineno"> 7478</span>&#160;        {</div><div class="line"><a name="l07479"></a><span class="lineno"> 7479</span>&#160;            uninitialized,   </div><div class="line"><a name="l07480"></a><span class="lineno"> 7480</span>&#160;            literal_true,    </div><div class="line"><a name="l07481"></a><span class="lineno"> 7481</span>&#160;            literal_false,   </div><div class="line"><a name="l07482"></a><span class="lineno"> 7482</span>&#160;            literal_null,    </div><div class="line"><a name="l07483"></a><span class="lineno"> 7483</span>&#160;            value_string,    </div><div class="line"><a name="l07484"></a><span class="lineno"> 7484</span>&#160;            value_number,    </div><div class="line"><a name="l07485"></a><span class="lineno"> 7485</span>&#160;            begin_array,     </div><div class="line"><a name="l07486"></a><span class="lineno"> 7486</span>&#160;            begin_object,    </div><div class="line"><a name="l07487"></a><span class="lineno"> 7487</span>&#160;            end_array,       </div><div class="line"><a name="l07488"></a><span class="lineno"> 7488</span>&#160;            end_object,      </div><div class="line"><a name="l07489"></a><span class="lineno"> 7489</span>&#160;            name_separator,  </div><div class="line"><a name="l07490"></a><span class="lineno"> 7490</span>&#160;            value_separator, </div><div class="line"><a name="l07491"></a><span class="lineno"> 7491</span>&#160;            parse_error,     </div><div class="line"><a name="l07492"></a><span class="lineno"> 7492</span>&#160;            end_of_input     </div><div class="line"><a name="l07493"></a><span class="lineno"> 7493</span>&#160;        };</div><div class="line"><a name="l07494"></a><span class="lineno"> 7494</span>&#160;</div><div class="line"><a name="l07496"></a><span class="lineno"> 7496</span>&#160;        <span class="keyword">using</span> lexer_char_t = <span class="keywordtype">unsigned</span> char;</div><div class="line"><a name="l07497"></a><span class="lineno"> 7497</span>&#160;</div><div class="line"><a name="l07499"></a><span class="lineno"> 7499</span>&#160;        <span class="keyword">explicit</span> lexer(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s) noexcept</div><div class="line"><a name="l07500"></a><span class="lineno"> 7500</span>&#160;            : m_stream(<span class="keyword">nullptr</span>), m_buffer(s)</div><div class="line"><a name="l07501"></a><span class="lineno"> 7501</span>&#160;        {</div><div class="line"><a name="l07502"></a><span class="lineno"> 7502</span>&#160;            m_content = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>lexer_char_t*<span class="keyword">&gt;</span>(m_buffer.c_str());</div><div class="line"><a name="l07503"></a><span class="lineno"> 7503</span>&#160;            assert(m_content != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07504"></a><span class="lineno"> 7504</span>&#160;            m_start = m_cursor = m_content;</div><div class="line"><a name="l07505"></a><span class="lineno"> 7505</span>&#160;            m_limit = m_content + s.size();</div><div class="line"><a name="l07506"></a><span class="lineno"> 7506</span>&#160;        }</div><div class="line"><a name="l07507"></a><span class="lineno"> 7507</span>&#160;</div><div class="line"><a name="l07509"></a><span class="lineno"> 7509</span>&#160;        <span class="keyword">explicit</span> lexer(std::istream* s) noexcept</div><div class="line"><a name="l07510"></a><span class="lineno"> 7510</span>&#160;            : m_stream(s), m_buffer()</div><div class="line"><a name="l07511"></a><span class="lineno"> 7511</span>&#160;        {</div><div class="line"><a name="l07512"></a><span class="lineno"> 7512</span>&#160;            assert(m_stream != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07513"></a><span class="lineno"> 7513</span>&#160;            std::getline(*m_stream, m_buffer);</div><div class="line"><a name="l07514"></a><span class="lineno"> 7514</span>&#160;            m_content = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>lexer_char_t*<span class="keyword">&gt;</span>(m_buffer.c_str());</div><div class="line"><a name="l07515"></a><span class="lineno"> 7515</span>&#160;            assert(m_content != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07516"></a><span class="lineno"> 7516</span>&#160;            m_start = m_cursor = m_content;</div><div class="line"><a name="l07517"></a><span class="lineno"> 7517</span>&#160;            m_limit = m_content + m_buffer.size();</div><div class="line"><a name="l07518"></a><span class="lineno"> 7518</span>&#160;        }</div><div class="line"><a name="l07519"></a><span class="lineno"> 7519</span>&#160;</div><div class="line"><a name="l07521"></a><span class="lineno"> 7521</span>&#160;        lexer() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l07522"></a><span class="lineno"> 7522</span>&#160;</div><div class="line"><a name="l07523"></a><span class="lineno"> 7523</span>&#160;        <span class="comment">// switch off unwanted functions</span></div><div class="line"><a name="l07524"></a><span class="lineno"> 7524</span>&#160;        lexer(<span class="keyword">const</span> lexer&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l07525"></a><span class="lineno"> 7525</span>&#160;        lexer operator=(<span class="keyword">const</span> lexer&amp;) = <span class="keyword">delete</span>;</div><div class="line"><a name="l07526"></a><span class="lineno"> 7526</span>&#160;</div><div class="line"><a name="l07550"></a><span class="lineno"> 7550</span>&#160;        <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> to_unicode(<span class="keyword">const</span> std::size_t codepoint1,</div><div class="line"><a name="l07551"></a><span class="lineno"> 7551</span>&#160;                                   <span class="keyword">const</span> std::size_t codepoint2 = 0)</div><div class="line"><a name="l07552"></a><span class="lineno"> 7552</span>&#160;        {</div><div class="line"><a name="l07553"></a><span class="lineno"> 7553</span>&#160;            <span class="comment">// calculate the code point from the given code points</span></div><div class="line"><a name="l07554"></a><span class="lineno"> 7554</span>&#160;            std::size_t codepoint = codepoint1;</div><div class="line"><a name="l07555"></a><span class="lineno"> 7555</span>&#160;</div><div class="line"><a name="l07556"></a><span class="lineno"> 7556</span>&#160;            <span class="comment">// check if codepoint1 is a high surrogate</span></div><div class="line"><a name="l07557"></a><span class="lineno"> 7557</span>&#160;            <span class="keywordflow">if</span> (codepoint1 &gt;= 0xD800 and codepoint1 &lt;= 0xDBFF)</div><div class="line"><a name="l07558"></a><span class="lineno"> 7558</span>&#160;            {</div><div class="line"><a name="l07559"></a><span class="lineno"> 7559</span>&#160;                <span class="comment">// check if codepoint2 is a low surrogate</span></div><div class="line"><a name="l07560"></a><span class="lineno"> 7560</span>&#160;                <span class="keywordflow">if</span> (codepoint2 &gt;= 0xDC00 and codepoint2 &lt;= 0xDFFF)</div><div class="line"><a name="l07561"></a><span class="lineno"> 7561</span>&#160;                {</div><div class="line"><a name="l07562"></a><span class="lineno"> 7562</span>&#160;                    codepoint =</div><div class="line"><a name="l07563"></a><span class="lineno"> 7563</span>&#160;                        <span class="comment">// high surrogate occupies the most significant 22 bits</span></div><div class="line"><a name="l07564"></a><span class="lineno"> 7564</span>&#160;                        (codepoint1 &lt;&lt; 10)</div><div class="line"><a name="l07565"></a><span class="lineno"> 7565</span>&#160;                        <span class="comment">// low surrogate occupies the least significant 15 bits</span></div><div class="line"><a name="l07566"></a><span class="lineno"> 7566</span>&#160;                        + codepoint2</div><div class="line"><a name="l07567"></a><span class="lineno"> 7567</span>&#160;                        <span class="comment">// there is still the 0xD800, 0xDC00 and 0x10000 noise</span></div><div class="line"><a name="l07568"></a><span class="lineno"> 7568</span>&#160;                        <span class="comment">// in the result so we have to subtract with:</span></div><div class="line"><a name="l07569"></a><span class="lineno"> 7569</span>&#160;                        <span class="comment">// (0xD800 &lt;&lt; 10) + DC00 - 0x10000 = 0x35FDC00</span></div><div class="line"><a name="l07570"></a><span class="lineno"> 7570</span>&#160;                        - 0x35FDC00;</div><div class="line"><a name="l07571"></a><span class="lineno"> 7571</span>&#160;                }</div><div class="line"><a name="l07572"></a><span class="lineno"> 7572</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l07573"></a><span class="lineno"> 7573</span>&#160;                {</div><div class="line"><a name="l07574"></a><span class="lineno"> 7574</span>&#160;                    <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;missing or wrong low surrogate&quot;</span>);</div><div class="line"><a name="l07575"></a><span class="lineno"> 7575</span>&#160;                }</div><div class="line"><a name="l07576"></a><span class="lineno"> 7576</span>&#160;            }</div><div class="line"><a name="l07577"></a><span class="lineno"> 7577</span>&#160;</div><div class="line"><a name="l07578"></a><span class="lineno"> 7578</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> result;</div><div class="line"><a name="l07579"></a><span class="lineno"> 7579</span>&#160;</div><div class="line"><a name="l07580"></a><span class="lineno"> 7580</span>&#160;            <span class="keywordflow">if</span> (codepoint &lt; 0x80)</div><div class="line"><a name="l07581"></a><span class="lineno"> 7581</span>&#160;            {</div><div class="line"><a name="l07582"></a><span class="lineno"> 7582</span>&#160;                <span class="comment">// 1-byte characters: 0xxxxxxx (ASCII)</span></div><div class="line"><a name="l07583"></a><span class="lineno"> 7583</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(codepoint));</div><div class="line"><a name="l07584"></a><span class="lineno"> 7584</span>&#160;            }</div><div class="line"><a name="l07585"></a><span class="lineno"> 7585</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (codepoint &lt;= 0x7ff)</div><div class="line"><a name="l07586"></a><span class="lineno"> 7586</span>&#160;            {</div><div class="line"><a name="l07587"></a><span class="lineno"> 7587</span>&#160;                <span class="comment">// 2-byte characters: 110xxxxx 10xxxxxx</span></div><div class="line"><a name="l07588"></a><span class="lineno"> 7588</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0xC0 | ((codepoint &gt;&gt; 6) &amp; 0x1F)));</div><div class="line"><a name="l07589"></a><span class="lineno"> 7589</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | (codepoint &amp; 0x3F)));</div><div class="line"><a name="l07590"></a><span class="lineno"> 7590</span>&#160;            }</div><div class="line"><a name="l07591"></a><span class="lineno"> 7591</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (codepoint &lt;= 0xffff)</div><div class="line"><a name="l07592"></a><span class="lineno"> 7592</span>&#160;            {</div><div class="line"><a name="l07593"></a><span class="lineno"> 7593</span>&#160;                <span class="comment">// 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx</span></div><div class="line"><a name="l07594"></a><span class="lineno"> 7594</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0xE0 | ((codepoint &gt;&gt; 12) &amp; 0x0F)));</div><div class="line"><a name="l07595"></a><span class="lineno"> 7595</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | ((codepoint &gt;&gt; 6) &amp; 0x3F)));</div><div class="line"><a name="l07596"></a><span class="lineno"> 7596</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | (codepoint &amp; 0x3F)));</div><div class="line"><a name="l07597"></a><span class="lineno"> 7597</span>&#160;            }</div><div class="line"><a name="l07598"></a><span class="lineno"> 7598</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (codepoint &lt;= 0x10ffff)</div><div class="line"><a name="l07599"></a><span class="lineno"> 7599</span>&#160;            {</div><div class="line"><a name="l07600"></a><span class="lineno"> 7600</span>&#160;                <span class="comment">// 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx</span></div><div class="line"><a name="l07601"></a><span class="lineno"> 7601</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0xF0 | ((codepoint &gt;&gt; 18) &amp; 0x07)));</div><div class="line"><a name="l07602"></a><span class="lineno"> 7602</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | ((codepoint &gt;&gt; 12) &amp; 0x3F)));</div><div class="line"><a name="l07603"></a><span class="lineno"> 7603</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | ((codepoint &gt;&gt; 6) &amp; 0x3F)));</div><div class="line"><a name="l07604"></a><span class="lineno"> 7604</span>&#160;                result.append(1, static_cast&lt;typename string_t::value_type&gt;(0x80 | (codepoint &amp; 0x3F)));</div><div class="line"><a name="l07605"></a><span class="lineno"> 7605</span>&#160;            }</div><div class="line"><a name="l07606"></a><span class="lineno"> 7606</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l07607"></a><span class="lineno"> 7607</span>&#160;            {</div><div class="line"><a name="l07608"></a><span class="lineno"> 7608</span>&#160;                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;code points above 0x10FFFF are invalid&quot;</span>);</div><div class="line"><a name="l07609"></a><span class="lineno"> 7609</span>&#160;            }</div><div class="line"><a name="l07610"></a><span class="lineno"> 7610</span>&#160;</div><div class="line"><a name="l07611"></a><span class="lineno"> 7611</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l07612"></a><span class="lineno"> 7612</span>&#160;        }</div><div class="line"><a name="l07613"></a><span class="lineno"> 7613</span>&#160;</div><div class="line"><a name="l07615"></a><span class="lineno"> 7615</span>&#160;        <span class="keyword">static</span> std::string token_type_name(<span class="keyword">const</span> token_type t)</div><div class="line"><a name="l07616"></a><span class="lineno"> 7616</span>&#160;        {</div><div class="line"><a name="l07617"></a><span class="lineno"> 7617</span>&#160;            <span class="keywordflow">switch</span> (t)</div><div class="line"><a name="l07618"></a><span class="lineno"> 7618</span>&#160;            {</div><div class="line"><a name="l07619"></a><span class="lineno"> 7619</span>&#160;                <span class="keywordflow">case</span> token_type::uninitialized:</div><div class="line"><a name="l07620"></a><span class="lineno"> 7620</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&lt;uninitialized&gt;&quot;</span>;</div><div class="line"><a name="l07621"></a><span class="lineno"> 7621</span>&#160;                <span class="keywordflow">case</span> token_type::literal_true:</div><div class="line"><a name="l07622"></a><span class="lineno"> 7622</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;true literal&quot;</span>;</div><div class="line"><a name="l07623"></a><span class="lineno"> 7623</span>&#160;                <span class="keywordflow">case</span> token_type::literal_false:</div><div class="line"><a name="l07624"></a><span class="lineno"> 7624</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;false literal&quot;</span>;</div><div class="line"><a name="l07625"></a><span class="lineno"> 7625</span>&#160;                <span class="keywordflow">case</span> token_type::literal_null:</div><div class="line"><a name="l07626"></a><span class="lineno"> 7626</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;null literal&quot;</span>;</div><div class="line"><a name="l07627"></a><span class="lineno"> 7627</span>&#160;                <span class="keywordflow">case</span> token_type::value_string:</div><div class="line"><a name="l07628"></a><span class="lineno"> 7628</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;string literal&quot;</span>;</div><div class="line"><a name="l07629"></a><span class="lineno"> 7629</span>&#160;                <span class="keywordflow">case</span> token_type::value_number:</div><div class="line"><a name="l07630"></a><span class="lineno"> 7630</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;number literal&quot;</span>;</div><div class="line"><a name="l07631"></a><span class="lineno"> 7631</span>&#160;                <span class="keywordflow">case</span> token_type::begin_array:</div><div class="line"><a name="l07632"></a><span class="lineno"> 7632</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;[&#39;&quot;</span>;</div><div class="line"><a name="l07633"></a><span class="lineno"> 7633</span>&#160;                <span class="keywordflow">case</span> token_type::begin_object:</div><div class="line"><a name="l07634"></a><span class="lineno"> 7634</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;{&#39;&quot;</span>;</div><div class="line"><a name="l07635"></a><span class="lineno"> 7635</span>&#160;                <span class="keywordflow">case</span> token_type::end_array:</div><div class="line"><a name="l07636"></a><span class="lineno"> 7636</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;]&#39;&quot;</span>;</div><div class="line"><a name="l07637"></a><span class="lineno"> 7637</span>&#160;                <span class="keywordflow">case</span> token_type::end_object:</div><div class="line"><a name="l07638"></a><span class="lineno"> 7638</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;}&#39;&quot;</span>;</div><div class="line"><a name="l07639"></a><span class="lineno"> 7639</span>&#160;                <span class="keywordflow">case</span> token_type::name_separator:</div><div class="line"><a name="l07640"></a><span class="lineno"> 7640</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;:&#39;&quot;</span>;</div><div class="line"><a name="l07641"></a><span class="lineno"> 7641</span>&#160;                <span class="keywordflow">case</span> token_type::value_separator:</div><div class="line"><a name="l07642"></a><span class="lineno"> 7642</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&#39;,&#39;&quot;</span>;</div><div class="line"><a name="l07643"></a><span class="lineno"> 7643</span>&#160;                <span class="keywordflow">case</span> token_type::parse_error:</div><div class="line"><a name="l07644"></a><span class="lineno"> 7644</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;&lt;parse error&gt;&quot;</span>;</div><div class="line"><a name="l07645"></a><span class="lineno"> 7645</span>&#160;                <span class="keywordflow">case</span> token_type::end_of_input:</div><div class="line"><a name="l07646"></a><span class="lineno"> 7646</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;end of input&quot;</span>;</div><div class="line"><a name="l07647"></a><span class="lineno"> 7647</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l07648"></a><span class="lineno"> 7648</span>&#160;                {</div><div class="line"><a name="l07649"></a><span class="lineno"> 7649</span>&#160;                    <span class="comment">// catch non-enum values</span></div><div class="line"><a name="l07650"></a><span class="lineno"> 7650</span>&#160;                    <span class="keywordflow">return</span> <span class="stringliteral">&quot;unknown token&quot;</span>; <span class="comment">// LCOV_EXCL_LINE</span></div><div class="line"><a name="l07651"></a><span class="lineno"> 7651</span>&#160;                }</div><div class="line"><a name="l07652"></a><span class="lineno"> 7652</span>&#160;            }</div><div class="line"><a name="l07653"></a><span class="lineno"> 7653</span>&#160;        }</div><div class="line"><a name="l07654"></a><span class="lineno"> 7654</span>&#160;</div><div class="line"><a name="l07676"></a><span class="lineno"> 7676</span>&#160;        token_type scan() noexcept</div><div class="line"><a name="l07677"></a><span class="lineno"> 7677</span>&#160;        {</div><div class="line"><a name="l07678"></a><span class="lineno"> 7678</span>&#160;            <span class="keywordflow">while</span> (<span class="keyword">true</span>)</div><div class="line"><a name="l07679"></a><span class="lineno"> 7679</span>&#160;            {</div><div class="line"><a name="l07680"></a><span class="lineno"> 7680</span>&#160;                <span class="comment">// pointer for backtracking information</span></div><div class="line"><a name="l07681"></a><span class="lineno"> 7681</span>&#160;                m_marker = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l07682"></a><span class="lineno"> 7682</span>&#160;</div><div class="line"><a name="l07683"></a><span class="lineno"> 7683</span>&#160;                <span class="comment">// remember the begin of the token</span></div><div class="line"><a name="l07684"></a><span class="lineno"> 7684</span>&#160;                m_start = m_cursor;</div><div class="line"><a name="l07685"></a><span class="lineno"> 7685</span>&#160;                assert(m_start != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l07686"></a><span class="lineno"> 7686</span>&#160;</div><div class="line"><a name="l07687"></a><span class="lineno"> 7687</span>&#160;</div><div class="line"><a name="l07688"></a><span class="lineno"> 7688</span>&#160;                {</div><div class="line"><a name="l07689"></a><span class="lineno"> 7689</span>&#160;                    lexer_char_t yych;</div><div class="line"><a name="l07690"></a><span class="lineno"> 7690</span>&#160;                    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> yyaccept = 0;</div><div class="line"><a name="l07691"></a><span class="lineno"> 7691</span>&#160;                    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> yybm[] =</div><div class="line"><a name="l07692"></a><span class="lineno"> 7692</span>&#160;                    {</div><div class="line"><a name="l07693"></a><span class="lineno"> 7693</span>&#160;                        0,   0,   0,   0,   0,   0,   0,   0,</div><div class="line"><a name="l07694"></a><span class="lineno"> 7694</span>&#160;                        0,  32,  32,   0,   0,  32,   0,   0,</div><div class="line"><a name="l07695"></a><span class="lineno"> 7695</span>&#160;                        0,   0,   0,   0,   0,   0,   0,   0,</div><div class="line"><a name="l07696"></a><span class="lineno"> 7696</span>&#160;                        0,   0,   0,   0,   0,   0,   0,   0,</div><div class="line"><a name="l07697"></a><span class="lineno"> 7697</span>&#160;                        160, 128,   0, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07698"></a><span class="lineno"> 7698</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07699"></a><span class="lineno"> 7699</span>&#160;                        192, 192, 192, 192, 192, 192, 192, 192,</div><div class="line"><a name="l07700"></a><span class="lineno"> 7700</span>&#160;                        192, 192, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07701"></a><span class="lineno"> 7701</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07702"></a><span class="lineno"> 7702</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07703"></a><span class="lineno"> 7703</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07704"></a><span class="lineno"> 7704</span>&#160;                        128, 128, 128, 128,   0, 128, 128, 128,</div><div class="line"><a name="l07705"></a><span class="lineno"> 7705</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07706"></a><span class="lineno"> 7706</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07707"></a><span class="lineno"> 7707</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07708"></a><span class="lineno"> 7708</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07709"></a><span class="lineno"> 7709</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07710"></a><span class="lineno"> 7710</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07711"></a><span class="lineno"> 7711</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07712"></a><span class="lineno"> 7712</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07713"></a><span class="lineno"> 7713</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07714"></a><span class="lineno"> 7714</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07715"></a><span class="lineno"> 7715</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07716"></a><span class="lineno"> 7716</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07717"></a><span class="lineno"> 7717</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07718"></a><span class="lineno"> 7718</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07719"></a><span class="lineno"> 7719</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07720"></a><span class="lineno"> 7720</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07721"></a><span class="lineno"> 7721</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07722"></a><span class="lineno"> 7722</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07723"></a><span class="lineno"> 7723</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07724"></a><span class="lineno"> 7724</span>&#160;                        128, 128, 128, 128, 128, 128, 128, 128,</div><div class="line"><a name="l07725"></a><span class="lineno"> 7725</span>&#160;                    };</div><div class="line"><a name="l07726"></a><span class="lineno"> 7726</span>&#160;                    <span class="keywordflow">if</span> ((m_limit - m_cursor) &lt; 5)</div><div class="line"><a name="l07727"></a><span class="lineno"> 7727</span>&#160;                    {</div><div class="line"><a name="l07728"></a><span class="lineno"> 7728</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07729"></a><span class="lineno"> 7729</span>&#160;                    }</div><div class="line"><a name="l07730"></a><span class="lineno"> 7730</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l07731"></a><span class="lineno"> 7731</span>&#160;                    <span class="keywordflow">if</span> (yybm[0 + yych] &amp; 32)</div><div class="line"><a name="l07732"></a><span class="lineno"> 7732</span>&#160;                    {</div><div class="line"><a name="l07733"></a><span class="lineno"> 7733</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_6;</div><div class="line"><a name="l07734"></a><span class="lineno"> 7734</span>&#160;                    }</div><div class="line"><a name="l07735"></a><span class="lineno"> 7735</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;\\&#39;</span>)</div><div class="line"><a name="l07736"></a><span class="lineno"> 7736</span>&#160;                    {</div><div class="line"><a name="l07737"></a><span class="lineno"> 7737</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;-&#39;</span>)</div><div class="line"><a name="l07738"></a><span class="lineno"> 7738</span>&#160;                        {</div><div class="line"><a name="l07739"></a><span class="lineno"> 7739</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;&quot;&#39;</span>)</div><div class="line"><a name="l07740"></a><span class="lineno"> 7740</span>&#160;                            {</div><div class="line"><a name="l07741"></a><span class="lineno"> 7741</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= 0x00)</div><div class="line"><a name="l07742"></a><span class="lineno"> 7742</span>&#160;                                {</div><div class="line"><a name="l07743"></a><span class="lineno"> 7743</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_2;</div><div class="line"><a name="l07744"></a><span class="lineno"> 7744</span>&#160;                                }</div><div class="line"><a name="l07745"></a><span class="lineno"> 7745</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;!&#39;</span>)</div><div class="line"><a name="l07746"></a><span class="lineno"> 7746</span>&#160;                                {</div><div class="line"><a name="l07747"></a><span class="lineno"> 7747</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07748"></a><span class="lineno"> 7748</span>&#160;                                }</div><div class="line"><a name="l07749"></a><span class="lineno"> 7749</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_9;</div><div class="line"><a name="l07750"></a><span class="lineno"> 7750</span>&#160;                            }</div><div class="line"><a name="l07751"></a><span class="lineno"> 7751</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l07752"></a><span class="lineno"> 7752</span>&#160;                            {</div><div class="line"><a name="l07753"></a><span class="lineno"> 7753</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;+&#39;</span>)</div><div class="line"><a name="l07754"></a><span class="lineno"> 7754</span>&#160;                                {</div><div class="line"><a name="l07755"></a><span class="lineno"> 7755</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07756"></a><span class="lineno"> 7756</span>&#160;                                }</div><div class="line"><a name="l07757"></a><span class="lineno"> 7757</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;,&#39;</span>)</div><div class="line"><a name="l07758"></a><span class="lineno"> 7758</span>&#160;                                {</div><div class="line"><a name="l07759"></a><span class="lineno"> 7759</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_10;</div><div class="line"><a name="l07760"></a><span class="lineno"> 7760</span>&#160;                                }</div><div class="line"><a name="l07761"></a><span class="lineno"> 7761</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_12;</div><div class="line"><a name="l07762"></a><span class="lineno"> 7762</span>&#160;                            }</div><div class="line"><a name="l07763"></a><span class="lineno"> 7763</span>&#160;                        }</div><div class="line"><a name="l07764"></a><span class="lineno"> 7764</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l07765"></a><span class="lineno"> 7765</span>&#160;                        {</div><div class="line"><a name="l07766"></a><span class="lineno"> 7766</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07767"></a><span class="lineno"> 7767</span>&#160;                            {</div><div class="line"><a name="l07768"></a><span class="lineno"> 7768</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07769"></a><span class="lineno"> 7769</span>&#160;                                {</div><div class="line"><a name="l07770"></a><span class="lineno"> 7770</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07771"></a><span class="lineno"> 7771</span>&#160;                                }</div><div class="line"><a name="l07772"></a><span class="lineno"> 7772</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l07773"></a><span class="lineno"> 7773</span>&#160;                                {</div><div class="line"><a name="l07774"></a><span class="lineno"> 7774</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_13;</div><div class="line"><a name="l07775"></a><span class="lineno"> 7775</span>&#160;                                }</div><div class="line"><a name="l07776"></a><span class="lineno"> 7776</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_15;</div><div class="line"><a name="l07777"></a><span class="lineno"> 7777</span>&#160;                            }</div><div class="line"><a name="l07778"></a><span class="lineno"> 7778</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l07779"></a><span class="lineno"> 7779</span>&#160;                            {</div><div class="line"><a name="l07780"></a><span class="lineno"> 7780</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;:&#39;</span>)</div><div class="line"><a name="l07781"></a><span class="lineno"> 7781</span>&#160;                                {</div><div class="line"><a name="l07782"></a><span class="lineno"> 7782</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_17;</div><div class="line"><a name="l07783"></a><span class="lineno"> 7783</span>&#160;                                }</div><div class="line"><a name="l07784"></a><span class="lineno"> 7784</span>&#160;                                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;[&#39;</span>)</div><div class="line"><a name="l07785"></a><span class="lineno"> 7785</span>&#160;                                {</div><div class="line"><a name="l07786"></a><span class="lineno"> 7786</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_19;</div><div class="line"><a name="l07787"></a><span class="lineno"> 7787</span>&#160;                                }</div><div class="line"><a name="l07788"></a><span class="lineno"> 7788</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07789"></a><span class="lineno"> 7789</span>&#160;                            }</div><div class="line"><a name="l07790"></a><span class="lineno"> 7790</span>&#160;                        }</div><div class="line"><a name="l07791"></a><span class="lineno"> 7791</span>&#160;                    }</div><div class="line"><a name="l07792"></a><span class="lineno"> 7792</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l07793"></a><span class="lineno"> 7793</span>&#160;                    {</div><div class="line"><a name="l07794"></a><span class="lineno"> 7794</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;t&#39;</span>)</div><div class="line"><a name="l07795"></a><span class="lineno"> 7795</span>&#160;                        {</div><div class="line"><a name="l07796"></a><span class="lineno"> 7796</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l07797"></a><span class="lineno"> 7797</span>&#160;                            {</div><div class="line"><a name="l07798"></a><span class="lineno"> 7798</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;]&#39;</span>)</div><div class="line"><a name="l07799"></a><span class="lineno"> 7799</span>&#160;                                {</div><div class="line"><a name="l07800"></a><span class="lineno"> 7800</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_21;</div><div class="line"><a name="l07801"></a><span class="lineno"> 7801</span>&#160;                                }</div><div class="line"><a name="l07802"></a><span class="lineno"> 7802</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l07803"></a><span class="lineno"> 7803</span>&#160;                                {</div><div class="line"><a name="l07804"></a><span class="lineno"> 7804</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07805"></a><span class="lineno"> 7805</span>&#160;                                }</div><div class="line"><a name="l07806"></a><span class="lineno"> 7806</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_23;</div><div class="line"><a name="l07807"></a><span class="lineno"> 7807</span>&#160;                            }</div><div class="line"><a name="l07808"></a><span class="lineno"> 7808</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l07809"></a><span class="lineno"> 7809</span>&#160;                            {</div><div class="line"><a name="l07810"></a><span class="lineno"> 7810</span>&#160;                                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;n&#39;</span>)</div><div class="line"><a name="l07811"></a><span class="lineno"> 7811</span>&#160;                                {</div><div class="line"><a name="l07812"></a><span class="lineno"> 7812</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_24;</div><div class="line"><a name="l07813"></a><span class="lineno"> 7813</span>&#160;                                }</div><div class="line"><a name="l07814"></a><span class="lineno"> 7814</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;s&#39;</span>)</div><div class="line"><a name="l07815"></a><span class="lineno"> 7815</span>&#160;                                {</div><div class="line"><a name="l07816"></a><span class="lineno"> 7816</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07817"></a><span class="lineno"> 7817</span>&#160;                                }</div><div class="line"><a name="l07818"></a><span class="lineno"> 7818</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_25;</div><div class="line"><a name="l07819"></a><span class="lineno"> 7819</span>&#160;                            }</div><div class="line"><a name="l07820"></a><span class="lineno"> 7820</span>&#160;                        }</div><div class="line"><a name="l07821"></a><span class="lineno"> 7821</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l07822"></a><span class="lineno"> 7822</span>&#160;                        {</div><div class="line"><a name="l07823"></a><span class="lineno"> 7823</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;|&#39;</span>)</div><div class="line"><a name="l07824"></a><span class="lineno"> 7824</span>&#160;                            {</div><div class="line"><a name="l07825"></a><span class="lineno"> 7825</span>&#160;                                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;{&#39;</span>)</div><div class="line"><a name="l07826"></a><span class="lineno"> 7826</span>&#160;                                {</div><div class="line"><a name="l07827"></a><span class="lineno"> 7827</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_26;</div><div class="line"><a name="l07828"></a><span class="lineno"> 7828</span>&#160;                                }</div><div class="line"><a name="l07829"></a><span class="lineno"> 7829</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07830"></a><span class="lineno"> 7830</span>&#160;                            }</div><div class="line"><a name="l07831"></a><span class="lineno"> 7831</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l07832"></a><span class="lineno"> 7832</span>&#160;                            {</div><div class="line"><a name="l07833"></a><span class="lineno"> 7833</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;}&#39;</span>)</div><div class="line"><a name="l07834"></a><span class="lineno"> 7834</span>&#160;                                {</div><div class="line"><a name="l07835"></a><span class="lineno"> 7835</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_28;</div><div class="line"><a name="l07836"></a><span class="lineno"> 7836</span>&#160;                                }</div><div class="line"><a name="l07837"></a><span class="lineno"> 7837</span>&#160;                                <span class="keywordflow">if</span> (yych == 0xEF)</div><div class="line"><a name="l07838"></a><span class="lineno"> 7838</span>&#160;                                {</div><div class="line"><a name="l07839"></a><span class="lineno"> 7839</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_30;</div><div class="line"><a name="l07840"></a><span class="lineno"> 7840</span>&#160;                                }</div><div class="line"><a name="l07841"></a><span class="lineno"> 7841</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_4;</div><div class="line"><a name="l07842"></a><span class="lineno"> 7842</span>&#160;                            }</div><div class="line"><a name="l07843"></a><span class="lineno"> 7843</span>&#160;                        }</div><div class="line"><a name="l07844"></a><span class="lineno"> 7844</span>&#160;                    }</div><div class="line"><a name="l07845"></a><span class="lineno"> 7845</span>&#160;basic_json_parser_2:</div><div class="line"><a name="l07846"></a><span class="lineno"> 7846</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l07847"></a><span class="lineno"> 7847</span>&#160;                    {</div><div class="line"><a name="l07848"></a><span class="lineno"> 7848</span>&#160;                        last_token_type = token_type::end_of_input;</div><div class="line"><a name="l07849"></a><span class="lineno"> 7849</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l07850"></a><span class="lineno"> 7850</span>&#160;                    }</div><div class="line"><a name="l07851"></a><span class="lineno"> 7851</span>&#160;basic_json_parser_4:</div><div class="line"><a name="l07852"></a><span class="lineno"> 7852</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l07853"></a><span class="lineno"> 7853</span>&#160;basic_json_parser_5:</div><div class="line"><a name="l07854"></a><span class="lineno"> 7854</span>&#160;                    {</div><div class="line"><a name="l07855"></a><span class="lineno"> 7855</span>&#160;                        last_token_type = token_type::parse_error;</div><div class="line"><a name="l07856"></a><span class="lineno"> 7856</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l07857"></a><span class="lineno"> 7857</span>&#160;                    }</div><div class="line"><a name="l07858"></a><span class="lineno"> 7858</span>&#160;basic_json_parser_6:</div><div class="line"><a name="l07859"></a><span class="lineno"> 7859</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l07860"></a><span class="lineno"> 7860</span>&#160;                    <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l07861"></a><span class="lineno"> 7861</span>&#160;                    {</div><div class="line"><a name="l07862"></a><span class="lineno"> 7862</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07863"></a><span class="lineno"> 7863</span>&#160;                    }</div><div class="line"><a name="l07864"></a><span class="lineno"> 7864</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l07865"></a><span class="lineno"> 7865</span>&#160;                    <span class="keywordflow">if</span> (yybm[0 + yych] &amp; 32)</div><div class="line"><a name="l07866"></a><span class="lineno"> 7866</span>&#160;                    {</div><div class="line"><a name="l07867"></a><span class="lineno"> 7867</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_6;</div><div class="line"><a name="l07868"></a><span class="lineno"> 7868</span>&#160;                    }</div><div class="line"><a name="l07869"></a><span class="lineno"> 7869</span>&#160;                    {</div><div class="line"><a name="l07870"></a><span class="lineno"> 7870</span>&#160;                        <span class="keywordflow">continue</span>;</div><div class="line"><a name="l07871"></a><span class="lineno"> 7871</span>&#160;                    }</div><div class="line"><a name="l07872"></a><span class="lineno"> 7872</span>&#160;basic_json_parser_9:</div><div class="line"><a name="l07873"></a><span class="lineno"> 7873</span>&#160;                    yyaccept = 0;</div><div class="line"><a name="l07874"></a><span class="lineno"> 7874</span>&#160;                    yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07875"></a><span class="lineno"> 7875</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= 0x1F)</div><div class="line"><a name="l07876"></a><span class="lineno"> 7876</span>&#160;                    {</div><div class="line"><a name="l07877"></a><span class="lineno"> 7877</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07878"></a><span class="lineno"> 7878</span>&#160;                    }</div><div class="line"><a name="l07879"></a><span class="lineno"> 7879</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_32;</div><div class="line"><a name="l07880"></a><span class="lineno"> 7880</span>&#160;basic_json_parser_10:</div><div class="line"><a name="l07881"></a><span class="lineno"> 7881</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l07882"></a><span class="lineno"> 7882</span>&#160;                    {</div><div class="line"><a name="l07883"></a><span class="lineno"> 7883</span>&#160;                        last_token_type = token_type::value_separator;</div><div class="line"><a name="l07884"></a><span class="lineno"> 7884</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l07885"></a><span class="lineno"> 7885</span>&#160;                    }</div><div class="line"><a name="l07886"></a><span class="lineno"> 7886</span>&#160;basic_json_parser_12:</div><div class="line"><a name="l07887"></a><span class="lineno"> 7887</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l07888"></a><span class="lineno"> 7888</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l07889"></a><span class="lineno"> 7889</span>&#160;                    {</div><div class="line"><a name="l07890"></a><span class="lineno"> 7890</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07891"></a><span class="lineno"> 7891</span>&#160;                    }</div><div class="line"><a name="l07892"></a><span class="lineno"> 7892</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l07893"></a><span class="lineno"> 7893</span>&#160;                    {</div><div class="line"><a name="l07894"></a><span class="lineno"> 7894</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_13;</div><div class="line"><a name="l07895"></a><span class="lineno"> 7895</span>&#160;                    }</div><div class="line"><a name="l07896"></a><span class="lineno"> 7896</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l07897"></a><span class="lineno"> 7897</span>&#160;                    {</div><div class="line"><a name="l07898"></a><span class="lineno"> 7898</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_15;</div><div class="line"><a name="l07899"></a><span class="lineno"> 7899</span>&#160;                    }</div><div class="line"><a name="l07900"></a><span class="lineno"> 7900</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07901"></a><span class="lineno"> 7901</span>&#160;basic_json_parser_13:</div><div class="line"><a name="l07902"></a><span class="lineno"> 7902</span>&#160;                    yyaccept = 1;</div><div class="line"><a name="l07903"></a><span class="lineno"> 7903</span>&#160;                    yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07904"></a><span class="lineno"> 7904</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;D&#39;</span>)</div><div class="line"><a name="l07905"></a><span class="lineno"> 7905</span>&#160;                    {</div><div class="line"><a name="l07906"></a><span class="lineno"> 7906</span>&#160;                        <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;.&#39;</span>)</div><div class="line"><a name="l07907"></a><span class="lineno"> 7907</span>&#160;                        {</div><div class="line"><a name="l07908"></a><span class="lineno"> 7908</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_37;</div><div class="line"><a name="l07909"></a><span class="lineno"> 7909</span>&#160;                        }</div><div class="line"><a name="l07910"></a><span class="lineno"> 7910</span>&#160;                    }</div><div class="line"><a name="l07911"></a><span class="lineno"> 7911</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l07912"></a><span class="lineno"> 7912</span>&#160;                    {</div><div class="line"><a name="l07913"></a><span class="lineno"> 7913</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;E&#39;</span>)</div><div class="line"><a name="l07914"></a><span class="lineno"> 7914</span>&#160;                        {</div><div class="line"><a name="l07915"></a><span class="lineno"> 7915</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07916"></a><span class="lineno"> 7916</span>&#160;                        }</div><div class="line"><a name="l07917"></a><span class="lineno"> 7917</span>&#160;                        <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l07918"></a><span class="lineno"> 7918</span>&#160;                        {</div><div class="line"><a name="l07919"></a><span class="lineno"> 7919</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07920"></a><span class="lineno"> 7920</span>&#160;                        }</div><div class="line"><a name="l07921"></a><span class="lineno"> 7921</span>&#160;                    }</div><div class="line"><a name="l07922"></a><span class="lineno"> 7922</span>&#160;basic_json_parser_14:</div><div class="line"><a name="l07923"></a><span class="lineno"> 7923</span>&#160;                    {</div><div class="line"><a name="l07924"></a><span class="lineno"> 7924</span>&#160;                        last_token_type = token_type::value_number;</div><div class="line"><a name="l07925"></a><span class="lineno"> 7925</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l07926"></a><span class="lineno"> 7926</span>&#160;                    }</div><div class="line"><a name="l07927"></a><span class="lineno"> 7927</span>&#160;basic_json_parser_15:</div><div class="line"><a name="l07928"></a><span class="lineno"> 7928</span>&#160;                    yyaccept = 1;</div><div class="line"><a name="l07929"></a><span class="lineno"> 7929</span>&#160;                    m_marker = ++m_cursor;</div><div class="line"><a name="l07930"></a><span class="lineno"> 7930</span>&#160;                    <span class="keywordflow">if</span> ((m_limit - m_cursor) &lt; 3)</div><div class="line"><a name="l07931"></a><span class="lineno"> 7931</span>&#160;                    {</div><div class="line"><a name="l07932"></a><span class="lineno"> 7932</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l07933"></a><span class="lineno"> 7933</span>&#160;                    }</div><div class="line"><a name="l07934"></a><span class="lineno"> 7934</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l07935"></a><span class="lineno"> 7935</span>&#160;                    <span class="keywordflow">if</span> (yybm[0 + yych] &amp; 64)</div><div class="line"><a name="l07936"></a><span class="lineno"> 7936</span>&#160;                    {</div><div class="line"><a name="l07937"></a><span class="lineno"> 7937</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_15;</div><div class="line"><a name="l07938"></a><span class="lineno"> 7938</span>&#160;                    }</div><div class="line"><a name="l07939"></a><span class="lineno"> 7939</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;D&#39;</span>)</div><div class="line"><a name="l07940"></a><span class="lineno"> 7940</span>&#160;                    {</div><div class="line"><a name="l07941"></a><span class="lineno"> 7941</span>&#160;                        <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;.&#39;</span>)</div><div class="line"><a name="l07942"></a><span class="lineno"> 7942</span>&#160;                        {</div><div class="line"><a name="l07943"></a><span class="lineno"> 7943</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_37;</div><div class="line"><a name="l07944"></a><span class="lineno"> 7944</span>&#160;                        }</div><div class="line"><a name="l07945"></a><span class="lineno"> 7945</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07946"></a><span class="lineno"> 7946</span>&#160;                    }</div><div class="line"><a name="l07947"></a><span class="lineno"> 7947</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l07948"></a><span class="lineno"> 7948</span>&#160;                    {</div><div class="line"><a name="l07949"></a><span class="lineno"> 7949</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;E&#39;</span>)</div><div class="line"><a name="l07950"></a><span class="lineno"> 7950</span>&#160;                        {</div><div class="line"><a name="l07951"></a><span class="lineno"> 7951</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07952"></a><span class="lineno"> 7952</span>&#160;                        }</div><div class="line"><a name="l07953"></a><span class="lineno"> 7953</span>&#160;                        <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l07954"></a><span class="lineno"> 7954</span>&#160;                        {</div><div class="line"><a name="l07955"></a><span class="lineno"> 7955</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l07956"></a><span class="lineno"> 7956</span>&#160;                        }</div><div class="line"><a name="l07957"></a><span class="lineno"> 7957</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l07958"></a><span class="lineno"> 7958</span>&#160;                    }</div><div class="line"><a name="l07959"></a><span class="lineno"> 7959</span>&#160;basic_json_parser_17:</div><div class="line"><a name="l07960"></a><span class="lineno"> 7960</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l07961"></a><span class="lineno"> 7961</span>&#160;                    {</div><div class="line"><a name="l07962"></a><span class="lineno"> 7962</span>&#160;                        last_token_type = token_type::name_separator;</div><div class="line"><a name="l07963"></a><span class="lineno"> 7963</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l07964"></a><span class="lineno"> 7964</span>&#160;                    }</div><div class="line"><a name="l07965"></a><span class="lineno"> 7965</span>&#160;basic_json_parser_19:</div><div class="line"><a name="l07966"></a><span class="lineno"> 7966</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l07967"></a><span class="lineno"> 7967</span>&#160;                    {</div><div class="line"><a name="l07968"></a><span class="lineno"> 7968</span>&#160;                        last_token_type = token_type::begin_array;</div><div class="line"><a name="l07969"></a><span class="lineno"> 7969</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l07970"></a><span class="lineno"> 7970</span>&#160;                    }</div><div class="line"><a name="l07971"></a><span class="lineno"> 7971</span>&#160;basic_json_parser_21:</div><div class="line"><a name="l07972"></a><span class="lineno"> 7972</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l07973"></a><span class="lineno"> 7973</span>&#160;                    {</div><div class="line"><a name="l07974"></a><span class="lineno"> 7974</span>&#160;                        last_token_type = token_type::end_array;</div><div class="line"><a name="l07975"></a><span class="lineno"> 7975</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l07976"></a><span class="lineno"> 7976</span>&#160;                    }</div><div class="line"><a name="l07977"></a><span class="lineno"> 7977</span>&#160;basic_json_parser_23:</div><div class="line"><a name="l07978"></a><span class="lineno"> 7978</span>&#160;                    yyaccept = 0;</div><div class="line"><a name="l07979"></a><span class="lineno"> 7979</span>&#160;                    yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07980"></a><span class="lineno"> 7980</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;a&#39;</span>)</div><div class="line"><a name="l07981"></a><span class="lineno"> 7981</span>&#160;                    {</div><div class="line"><a name="l07982"></a><span class="lineno"> 7982</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_39;</div><div class="line"><a name="l07983"></a><span class="lineno"> 7983</span>&#160;                    }</div><div class="line"><a name="l07984"></a><span class="lineno"> 7984</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07985"></a><span class="lineno"> 7985</span>&#160;basic_json_parser_24:</div><div class="line"><a name="l07986"></a><span class="lineno"> 7986</span>&#160;                    yyaccept = 0;</div><div class="line"><a name="l07987"></a><span class="lineno"> 7987</span>&#160;                    yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07988"></a><span class="lineno"> 7988</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;u&#39;</span>)</div><div class="line"><a name="l07989"></a><span class="lineno"> 7989</span>&#160;                    {</div><div class="line"><a name="l07990"></a><span class="lineno"> 7990</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_40;</div><div class="line"><a name="l07991"></a><span class="lineno"> 7991</span>&#160;                    }</div><div class="line"><a name="l07992"></a><span class="lineno"> 7992</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l07993"></a><span class="lineno"> 7993</span>&#160;basic_json_parser_25:</div><div class="line"><a name="l07994"></a><span class="lineno"> 7994</span>&#160;                    yyaccept = 0;</div><div class="line"><a name="l07995"></a><span class="lineno"> 7995</span>&#160;                    yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l07996"></a><span class="lineno"> 7996</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;r&#39;</span>)</div><div class="line"><a name="l07997"></a><span class="lineno"> 7997</span>&#160;                    {</div><div class="line"><a name="l07998"></a><span class="lineno"> 7998</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_41;</div><div class="line"><a name="l07999"></a><span class="lineno"> 7999</span>&#160;                    }</div><div class="line"><a name="l08000"></a><span class="lineno"> 8000</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l08001"></a><span class="lineno"> 8001</span>&#160;basic_json_parser_26:</div><div class="line"><a name="l08002"></a><span class="lineno"> 8002</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08003"></a><span class="lineno"> 8003</span>&#160;                    {</div><div class="line"><a name="l08004"></a><span class="lineno"> 8004</span>&#160;                        last_token_type = token_type::begin_object;</div><div class="line"><a name="l08005"></a><span class="lineno"> 8005</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08006"></a><span class="lineno"> 8006</span>&#160;                    }</div><div class="line"><a name="l08007"></a><span class="lineno"> 8007</span>&#160;basic_json_parser_28:</div><div class="line"><a name="l08008"></a><span class="lineno"> 8008</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08009"></a><span class="lineno"> 8009</span>&#160;                    {</div><div class="line"><a name="l08010"></a><span class="lineno"> 8010</span>&#160;                        last_token_type = token_type::end_object;</div><div class="line"><a name="l08011"></a><span class="lineno"> 8011</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08012"></a><span class="lineno"> 8012</span>&#160;                    }</div><div class="line"><a name="l08013"></a><span class="lineno"> 8013</span>&#160;basic_json_parser_30:</div><div class="line"><a name="l08014"></a><span class="lineno"> 8014</span>&#160;                    yyaccept = 0;</div><div class="line"><a name="l08015"></a><span class="lineno"> 8015</span>&#160;                    yych = *(m_marker = ++m_cursor);</div><div class="line"><a name="l08016"></a><span class="lineno"> 8016</span>&#160;                    <span class="keywordflow">if</span> (yych == 0xBB)</div><div class="line"><a name="l08017"></a><span class="lineno"> 8017</span>&#160;                    {</div><div class="line"><a name="l08018"></a><span class="lineno"> 8018</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_42;</div><div class="line"><a name="l08019"></a><span class="lineno"> 8019</span>&#160;                    }</div><div class="line"><a name="l08020"></a><span class="lineno"> 8020</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l08021"></a><span class="lineno"> 8021</span>&#160;basic_json_parser_31:</div><div class="line"><a name="l08022"></a><span class="lineno"> 8022</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08023"></a><span class="lineno"> 8023</span>&#160;                    <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l08024"></a><span class="lineno"> 8024</span>&#160;                    {</div><div class="line"><a name="l08025"></a><span class="lineno"> 8025</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08026"></a><span class="lineno"> 8026</span>&#160;                    }</div><div class="line"><a name="l08027"></a><span class="lineno"> 8027</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l08028"></a><span class="lineno"> 8028</span>&#160;basic_json_parser_32:</div><div class="line"><a name="l08029"></a><span class="lineno"> 8029</span>&#160;                    <span class="keywordflow">if</span> (yybm[0 + yych] &amp; 128)</div><div class="line"><a name="l08030"></a><span class="lineno"> 8030</span>&#160;                    {</div><div class="line"><a name="l08031"></a><span class="lineno"> 8031</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08032"></a><span class="lineno"> 8032</span>&#160;                    }</div><div class="line"><a name="l08033"></a><span class="lineno"> 8033</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= 0x1F)</div><div class="line"><a name="l08034"></a><span class="lineno"> 8034</span>&#160;                    {</div><div class="line"><a name="l08035"></a><span class="lineno"> 8035</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08036"></a><span class="lineno"> 8036</span>&#160;                    }</div><div class="line"><a name="l08037"></a><span class="lineno"> 8037</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;&quot;&#39;</span>)</div><div class="line"><a name="l08038"></a><span class="lineno"> 8038</span>&#160;                    {</div><div class="line"><a name="l08039"></a><span class="lineno"> 8039</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_34;</div><div class="line"><a name="l08040"></a><span class="lineno"> 8040</span>&#160;                    }</div><div class="line"><a name="l08041"></a><span class="lineno"> 8041</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_36;</div><div class="line"><a name="l08042"></a><span class="lineno"> 8042</span>&#160;basic_json_parser_33:</div><div class="line"><a name="l08043"></a><span class="lineno"> 8043</span>&#160;                    m_cursor = m_marker;</div><div class="line"><a name="l08044"></a><span class="lineno"> 8044</span>&#160;                    <span class="keywordflow">if</span> (yyaccept == 0)</div><div class="line"><a name="l08045"></a><span class="lineno"> 8045</span>&#160;                    {</div><div class="line"><a name="l08046"></a><span class="lineno"> 8046</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_5;</div><div class="line"><a name="l08047"></a><span class="lineno"> 8047</span>&#160;                    }</div><div class="line"><a name="l08048"></a><span class="lineno"> 8048</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08049"></a><span class="lineno"> 8049</span>&#160;                    {</div><div class="line"><a name="l08050"></a><span class="lineno"> 8050</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l08051"></a><span class="lineno"> 8051</span>&#160;                    }</div><div class="line"><a name="l08052"></a><span class="lineno"> 8052</span>&#160;basic_json_parser_34:</div><div class="line"><a name="l08053"></a><span class="lineno"> 8053</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08054"></a><span class="lineno"> 8054</span>&#160;                    {</div><div class="line"><a name="l08055"></a><span class="lineno"> 8055</span>&#160;                        last_token_type = token_type::value_string;</div><div class="line"><a name="l08056"></a><span class="lineno"> 8056</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08057"></a><span class="lineno"> 8057</span>&#160;                    }</div><div class="line"><a name="l08058"></a><span class="lineno"> 8058</span>&#160;basic_json_parser_36:</div><div class="line"><a name="l08059"></a><span class="lineno"> 8059</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08060"></a><span class="lineno"> 8060</span>&#160;                    <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l08061"></a><span class="lineno"> 8061</span>&#160;                    {</div><div class="line"><a name="l08062"></a><span class="lineno"> 8062</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08063"></a><span class="lineno"> 8063</span>&#160;                    }</div><div class="line"><a name="l08064"></a><span class="lineno"> 8064</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l08065"></a><span class="lineno"> 8065</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l08066"></a><span class="lineno"> 8066</span>&#160;                    {</div><div class="line"><a name="l08067"></a><span class="lineno"> 8067</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08068"></a><span class="lineno"> 8068</span>&#160;                        {</div><div class="line"><a name="l08069"></a><span class="lineno"> 8069</span>&#160;                            <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;&quot;&#39;</span>)</div><div class="line"><a name="l08070"></a><span class="lineno"> 8070</span>&#160;                            {</div><div class="line"><a name="l08071"></a><span class="lineno"> 8071</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08072"></a><span class="lineno"> 8072</span>&#160;                            }</div><div class="line"><a name="l08073"></a><span class="lineno"> 8073</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;.&#39;</span>)</div><div class="line"><a name="l08074"></a><span class="lineno"> 8074</span>&#160;                            {</div><div class="line"><a name="l08075"></a><span class="lineno"> 8075</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08076"></a><span class="lineno"> 8076</span>&#160;                            }</div><div class="line"><a name="l08077"></a><span class="lineno"> 8077</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08078"></a><span class="lineno"> 8078</span>&#160;                        }</div><div class="line"><a name="l08079"></a><span class="lineno"> 8079</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l08080"></a><span class="lineno"> 8080</span>&#160;                        {</div><div class="line"><a name="l08081"></a><span class="lineno"> 8081</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;\\&#39;</span>)</div><div class="line"><a name="l08082"></a><span class="lineno"> 8082</span>&#160;                            {</div><div class="line"><a name="l08083"></a><span class="lineno"> 8083</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;[&#39;</span>)</div><div class="line"><a name="l08084"></a><span class="lineno"> 8084</span>&#160;                                {</div><div class="line"><a name="l08085"></a><span class="lineno"> 8085</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08086"></a><span class="lineno"> 8086</span>&#160;                                }</div><div class="line"><a name="l08087"></a><span class="lineno"> 8087</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08088"></a><span class="lineno"> 8088</span>&#160;                            }</div><div class="line"><a name="l08089"></a><span class="lineno"> 8089</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l08090"></a><span class="lineno"> 8090</span>&#160;                            {</div><div class="line"><a name="l08091"></a><span class="lineno"> 8091</span>&#160;                                <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;b&#39;</span>)</div><div class="line"><a name="l08092"></a><span class="lineno"> 8092</span>&#160;                                {</div><div class="line"><a name="l08093"></a><span class="lineno"> 8093</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08094"></a><span class="lineno"> 8094</span>&#160;                                }</div><div class="line"><a name="l08095"></a><span class="lineno"> 8095</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08096"></a><span class="lineno"> 8096</span>&#160;                            }</div><div class="line"><a name="l08097"></a><span class="lineno"> 8097</span>&#160;                        }</div><div class="line"><a name="l08098"></a><span class="lineno"> 8098</span>&#160;                    }</div><div class="line"><a name="l08099"></a><span class="lineno"> 8099</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08100"></a><span class="lineno"> 8100</span>&#160;                    {</div><div class="line"><a name="l08101"></a><span class="lineno"> 8101</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;q&#39;</span>)</div><div class="line"><a name="l08102"></a><span class="lineno"> 8102</span>&#160;                        {</div><div class="line"><a name="l08103"></a><span class="lineno"> 8103</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l08104"></a><span class="lineno"> 8104</span>&#160;                            {</div><div class="line"><a name="l08105"></a><span class="lineno"> 8105</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08106"></a><span class="lineno"> 8106</span>&#160;                            }</div><div class="line"><a name="l08107"></a><span class="lineno"> 8107</span>&#160;                            <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;n&#39;</span>)</div><div class="line"><a name="l08108"></a><span class="lineno"> 8108</span>&#160;                            {</div><div class="line"><a name="l08109"></a><span class="lineno"> 8109</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08110"></a><span class="lineno"> 8110</span>&#160;                            }</div><div class="line"><a name="l08111"></a><span class="lineno"> 8111</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08112"></a><span class="lineno"> 8112</span>&#160;                        }</div><div class="line"><a name="l08113"></a><span class="lineno"> 8113</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l08114"></a><span class="lineno"> 8114</span>&#160;                        {</div><div class="line"><a name="l08115"></a><span class="lineno"> 8115</span>&#160;                            <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;s&#39;</span>)</div><div class="line"><a name="l08116"></a><span class="lineno"> 8116</span>&#160;                            {</div><div class="line"><a name="l08117"></a><span class="lineno"> 8117</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;r&#39;</span>)</div><div class="line"><a name="l08118"></a><span class="lineno"> 8118</span>&#160;                                {</div><div class="line"><a name="l08119"></a><span class="lineno"> 8119</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08120"></a><span class="lineno"> 8120</span>&#160;                                }</div><div class="line"><a name="l08121"></a><span class="lineno"> 8121</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08122"></a><span class="lineno"> 8122</span>&#160;                            }</div><div class="line"><a name="l08123"></a><span class="lineno"> 8123</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l08124"></a><span class="lineno"> 8124</span>&#160;                            {</div><div class="line"><a name="l08125"></a><span class="lineno"> 8125</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;t&#39;</span>)</div><div class="line"><a name="l08126"></a><span class="lineno"> 8126</span>&#160;                                {</div><div class="line"><a name="l08127"></a><span class="lineno"> 8127</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08128"></a><span class="lineno"> 8128</span>&#160;                                }</div><div class="line"><a name="l08129"></a><span class="lineno"> 8129</span>&#160;                                <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;u&#39;</span>)</div><div class="line"><a name="l08130"></a><span class="lineno"> 8130</span>&#160;                                {</div><div class="line"><a name="l08131"></a><span class="lineno"> 8131</span>&#160;                                    <span class="keywordflow">goto</span> basic_json_parser_43;</div><div class="line"><a name="l08132"></a><span class="lineno"> 8132</span>&#160;                                }</div><div class="line"><a name="l08133"></a><span class="lineno"> 8133</span>&#160;                                <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08134"></a><span class="lineno"> 8134</span>&#160;                            }</div><div class="line"><a name="l08135"></a><span class="lineno"> 8135</span>&#160;                        }</div><div class="line"><a name="l08136"></a><span class="lineno"> 8136</span>&#160;                    }</div><div class="line"><a name="l08137"></a><span class="lineno"> 8137</span>&#160;basic_json_parser_37:</div><div class="line"><a name="l08138"></a><span class="lineno"> 8138</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08139"></a><span class="lineno"> 8139</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08140"></a><span class="lineno"> 8140</span>&#160;                    {</div><div class="line"><a name="l08141"></a><span class="lineno"> 8141</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08142"></a><span class="lineno"> 8142</span>&#160;                    }</div><div class="line"><a name="l08143"></a><span class="lineno"> 8143</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08144"></a><span class="lineno"> 8144</span>&#160;                    {</div><div class="line"><a name="l08145"></a><span class="lineno"> 8145</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_44;</div><div class="line"><a name="l08146"></a><span class="lineno"> 8146</span>&#160;                    }</div><div class="line"><a name="l08147"></a><span class="lineno"> 8147</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08148"></a><span class="lineno"> 8148</span>&#160;basic_json_parser_38:</div><div class="line"><a name="l08149"></a><span class="lineno"> 8149</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08150"></a><span class="lineno"> 8150</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;,&#39;</span>)</div><div class="line"><a name="l08151"></a><span class="lineno"> 8151</span>&#160;                    {</div><div class="line"><a name="l08152"></a><span class="lineno"> 8152</span>&#160;                        <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;+&#39;</span>)</div><div class="line"><a name="l08153"></a><span class="lineno"> 8153</span>&#160;                        {</div><div class="line"><a name="l08154"></a><span class="lineno"> 8154</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_46;</div><div class="line"><a name="l08155"></a><span class="lineno"> 8155</span>&#160;                        }</div><div class="line"><a name="l08156"></a><span class="lineno"> 8156</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08157"></a><span class="lineno"> 8157</span>&#160;                    }</div><div class="line"><a name="l08158"></a><span class="lineno"> 8158</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08159"></a><span class="lineno"> 8159</span>&#160;                    {</div><div class="line"><a name="l08160"></a><span class="lineno"> 8160</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;-&#39;</span>)</div><div class="line"><a name="l08161"></a><span class="lineno"> 8161</span>&#160;                        {</div><div class="line"><a name="l08162"></a><span class="lineno"> 8162</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_46;</div><div class="line"><a name="l08163"></a><span class="lineno"> 8163</span>&#160;                        }</div><div class="line"><a name="l08164"></a><span class="lineno"> 8164</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08165"></a><span class="lineno"> 8165</span>&#160;                        {</div><div class="line"><a name="l08166"></a><span class="lineno"> 8166</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08167"></a><span class="lineno"> 8167</span>&#160;                        }</div><div class="line"><a name="l08168"></a><span class="lineno"> 8168</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08169"></a><span class="lineno"> 8169</span>&#160;                        {</div><div class="line"><a name="l08170"></a><span class="lineno"> 8170</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_47;</div><div class="line"><a name="l08171"></a><span class="lineno"> 8171</span>&#160;                        }</div><div class="line"><a name="l08172"></a><span class="lineno"> 8172</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08173"></a><span class="lineno"> 8173</span>&#160;                    }</div><div class="line"><a name="l08174"></a><span class="lineno"> 8174</span>&#160;basic_json_parser_39:</div><div class="line"><a name="l08175"></a><span class="lineno"> 8175</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08176"></a><span class="lineno"> 8176</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;l&#39;</span>)</div><div class="line"><a name="l08177"></a><span class="lineno"> 8177</span>&#160;                    {</div><div class="line"><a name="l08178"></a><span class="lineno"> 8178</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_49;</div><div class="line"><a name="l08179"></a><span class="lineno"> 8179</span>&#160;                    }</div><div class="line"><a name="l08180"></a><span class="lineno"> 8180</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08181"></a><span class="lineno"> 8181</span>&#160;basic_json_parser_40:</div><div class="line"><a name="l08182"></a><span class="lineno"> 8182</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08183"></a><span class="lineno"> 8183</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;l&#39;</span>)</div><div class="line"><a name="l08184"></a><span class="lineno"> 8184</span>&#160;                    {</div><div class="line"><a name="l08185"></a><span class="lineno"> 8185</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_50;</div><div class="line"><a name="l08186"></a><span class="lineno"> 8186</span>&#160;                    }</div><div class="line"><a name="l08187"></a><span class="lineno"> 8187</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08188"></a><span class="lineno"> 8188</span>&#160;basic_json_parser_41:</div><div class="line"><a name="l08189"></a><span class="lineno"> 8189</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08190"></a><span class="lineno"> 8190</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;u&#39;</span>)</div><div class="line"><a name="l08191"></a><span class="lineno"> 8191</span>&#160;                    {</div><div class="line"><a name="l08192"></a><span class="lineno"> 8192</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_51;</div><div class="line"><a name="l08193"></a><span class="lineno"> 8193</span>&#160;                    }</div><div class="line"><a name="l08194"></a><span class="lineno"> 8194</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08195"></a><span class="lineno"> 8195</span>&#160;basic_json_parser_42:</div><div class="line"><a name="l08196"></a><span class="lineno"> 8196</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08197"></a><span class="lineno"> 8197</span>&#160;                    <span class="keywordflow">if</span> (yych == 0xBF)</div><div class="line"><a name="l08198"></a><span class="lineno"> 8198</span>&#160;                    {</div><div class="line"><a name="l08199"></a><span class="lineno"> 8199</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_52;</div><div class="line"><a name="l08200"></a><span class="lineno"> 8200</span>&#160;                    }</div><div class="line"><a name="l08201"></a><span class="lineno"> 8201</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08202"></a><span class="lineno"> 8202</span>&#160;basic_json_parser_43:</div><div class="line"><a name="l08203"></a><span class="lineno"> 8203</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08204"></a><span class="lineno"> 8204</span>&#160;                    <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l08205"></a><span class="lineno"> 8205</span>&#160;                    {</div><div class="line"><a name="l08206"></a><span class="lineno"> 8206</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08207"></a><span class="lineno"> 8207</span>&#160;                    }</div><div class="line"><a name="l08208"></a><span class="lineno"> 8208</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l08209"></a><span class="lineno"> 8209</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;@&#39;</span>)</div><div class="line"><a name="l08210"></a><span class="lineno"> 8210</span>&#160;                    {</div><div class="line"><a name="l08211"></a><span class="lineno"> 8211</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08212"></a><span class="lineno"> 8212</span>&#160;                        {</div><div class="line"><a name="l08213"></a><span class="lineno"> 8213</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08214"></a><span class="lineno"> 8214</span>&#160;                        }</div><div class="line"><a name="l08215"></a><span class="lineno"> 8215</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08216"></a><span class="lineno"> 8216</span>&#160;                        {</div><div class="line"><a name="l08217"></a><span class="lineno"> 8217</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_54;</div><div class="line"><a name="l08218"></a><span class="lineno"> 8218</span>&#160;                        }</div><div class="line"><a name="l08219"></a><span class="lineno"> 8219</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08220"></a><span class="lineno"> 8220</span>&#160;                    }</div><div class="line"><a name="l08221"></a><span class="lineno"> 8221</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08222"></a><span class="lineno"> 8222</span>&#160;                    {</div><div class="line"><a name="l08223"></a><span class="lineno"> 8223</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;F&#39;</span>)</div><div class="line"><a name="l08224"></a><span class="lineno"> 8224</span>&#160;                        {</div><div class="line"><a name="l08225"></a><span class="lineno"> 8225</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_54;</div><div class="line"><a name="l08226"></a><span class="lineno"> 8226</span>&#160;                        }</div><div class="line"><a name="l08227"></a><span class="lineno"> 8227</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;`&#39;</span>)</div><div class="line"><a name="l08228"></a><span class="lineno"> 8228</span>&#160;                        {</div><div class="line"><a name="l08229"></a><span class="lineno"> 8229</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08230"></a><span class="lineno"> 8230</span>&#160;                        }</div><div class="line"><a name="l08231"></a><span class="lineno"> 8231</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l08232"></a><span class="lineno"> 8232</span>&#160;                        {</div><div class="line"><a name="l08233"></a><span class="lineno"> 8233</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_54;</div><div class="line"><a name="l08234"></a><span class="lineno"> 8234</span>&#160;                        }</div><div class="line"><a name="l08235"></a><span class="lineno"> 8235</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08236"></a><span class="lineno"> 8236</span>&#160;                    }</div><div class="line"><a name="l08237"></a><span class="lineno"> 8237</span>&#160;basic_json_parser_44:</div><div class="line"><a name="l08238"></a><span class="lineno"> 8238</span>&#160;                    yyaccept = 1;</div><div class="line"><a name="l08239"></a><span class="lineno"> 8239</span>&#160;                    m_marker = ++m_cursor;</div><div class="line"><a name="l08240"></a><span class="lineno"> 8240</span>&#160;                    <span class="keywordflow">if</span> ((m_limit - m_cursor) &lt; 3)</div><div class="line"><a name="l08241"></a><span class="lineno"> 8241</span>&#160;                    {</div><div class="line"><a name="l08242"></a><span class="lineno"> 8242</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08243"></a><span class="lineno"> 8243</span>&#160;                    }</div><div class="line"><a name="l08244"></a><span class="lineno"> 8244</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l08245"></a><span class="lineno"> 8245</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;D&#39;</span>)</div><div class="line"><a name="l08246"></a><span class="lineno"> 8246</span>&#160;                    {</div><div class="line"><a name="l08247"></a><span class="lineno"> 8247</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08248"></a><span class="lineno"> 8248</span>&#160;                        {</div><div class="line"><a name="l08249"></a><span class="lineno"> 8249</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l08250"></a><span class="lineno"> 8250</span>&#160;                        }</div><div class="line"><a name="l08251"></a><span class="lineno"> 8251</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08252"></a><span class="lineno"> 8252</span>&#160;                        {</div><div class="line"><a name="l08253"></a><span class="lineno"> 8253</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_44;</div><div class="line"><a name="l08254"></a><span class="lineno"> 8254</span>&#160;                        }</div><div class="line"><a name="l08255"></a><span class="lineno"> 8255</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l08256"></a><span class="lineno"> 8256</span>&#160;                    }</div><div class="line"><a name="l08257"></a><span class="lineno"> 8257</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08258"></a><span class="lineno"> 8258</span>&#160;                    {</div><div class="line"><a name="l08259"></a><span class="lineno"> 8259</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;E&#39;</span>)</div><div class="line"><a name="l08260"></a><span class="lineno"> 8260</span>&#160;                        {</div><div class="line"><a name="l08261"></a><span class="lineno"> 8261</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l08262"></a><span class="lineno"> 8262</span>&#160;                        }</div><div class="line"><a name="l08263"></a><span class="lineno"> 8263</span>&#160;                        <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l08264"></a><span class="lineno"> 8264</span>&#160;                        {</div><div class="line"><a name="l08265"></a><span class="lineno"> 8265</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_38;</div><div class="line"><a name="l08266"></a><span class="lineno"> 8266</span>&#160;                        }</div><div class="line"><a name="l08267"></a><span class="lineno"> 8267</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l08268"></a><span class="lineno"> 8268</span>&#160;                    }</div><div class="line"><a name="l08269"></a><span class="lineno"> 8269</span>&#160;basic_json_parser_46:</div><div class="line"><a name="l08270"></a><span class="lineno"> 8270</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08271"></a><span class="lineno"> 8271</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08272"></a><span class="lineno"> 8272</span>&#160;                    {</div><div class="line"><a name="l08273"></a><span class="lineno"> 8273</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08274"></a><span class="lineno"> 8274</span>&#160;                    }</div><div class="line"><a name="l08275"></a><span class="lineno"> 8275</span>&#160;                    <span class="keywordflow">if</span> (yych &gt;= <span class="charliteral">&#39;:&#39;</span>)</div><div class="line"><a name="l08276"></a><span class="lineno"> 8276</span>&#160;                    {</div><div class="line"><a name="l08277"></a><span class="lineno"> 8277</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08278"></a><span class="lineno"> 8278</span>&#160;                    }</div><div class="line"><a name="l08279"></a><span class="lineno"> 8279</span>&#160;basic_json_parser_47:</div><div class="line"><a name="l08280"></a><span class="lineno"> 8280</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08281"></a><span class="lineno"> 8281</span>&#160;                    <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l08282"></a><span class="lineno"> 8282</span>&#160;                    {</div><div class="line"><a name="l08283"></a><span class="lineno"> 8283</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08284"></a><span class="lineno"> 8284</span>&#160;                    }</div><div class="line"><a name="l08285"></a><span class="lineno"> 8285</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l08286"></a><span class="lineno"> 8286</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08287"></a><span class="lineno"> 8287</span>&#160;                    {</div><div class="line"><a name="l08288"></a><span class="lineno"> 8288</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l08289"></a><span class="lineno"> 8289</span>&#160;                    }</div><div class="line"><a name="l08290"></a><span class="lineno"> 8290</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08291"></a><span class="lineno"> 8291</span>&#160;                    {</div><div class="line"><a name="l08292"></a><span class="lineno"> 8292</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_47;</div><div class="line"><a name="l08293"></a><span class="lineno"> 8293</span>&#160;                    }</div><div class="line"><a name="l08294"></a><span class="lineno"> 8294</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_14;</div><div class="line"><a name="l08295"></a><span class="lineno"> 8295</span>&#160;basic_json_parser_49:</div><div class="line"><a name="l08296"></a><span class="lineno"> 8296</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08297"></a><span class="lineno"> 8297</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;s&#39;</span>)</div><div class="line"><a name="l08298"></a><span class="lineno"> 8298</span>&#160;                    {</div><div class="line"><a name="l08299"></a><span class="lineno"> 8299</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_55;</div><div class="line"><a name="l08300"></a><span class="lineno"> 8300</span>&#160;                    }</div><div class="line"><a name="l08301"></a><span class="lineno"> 8301</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08302"></a><span class="lineno"> 8302</span>&#160;basic_json_parser_50:</div><div class="line"><a name="l08303"></a><span class="lineno"> 8303</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08304"></a><span class="lineno"> 8304</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;l&#39;</span>)</div><div class="line"><a name="l08305"></a><span class="lineno"> 8305</span>&#160;                    {</div><div class="line"><a name="l08306"></a><span class="lineno"> 8306</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_56;</div><div class="line"><a name="l08307"></a><span class="lineno"> 8307</span>&#160;                    }</div><div class="line"><a name="l08308"></a><span class="lineno"> 8308</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08309"></a><span class="lineno"> 8309</span>&#160;basic_json_parser_51:</div><div class="line"><a name="l08310"></a><span class="lineno"> 8310</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08311"></a><span class="lineno"> 8311</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l08312"></a><span class="lineno"> 8312</span>&#160;                    {</div><div class="line"><a name="l08313"></a><span class="lineno"> 8313</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_58;</div><div class="line"><a name="l08314"></a><span class="lineno"> 8314</span>&#160;                    }</div><div class="line"><a name="l08315"></a><span class="lineno"> 8315</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08316"></a><span class="lineno"> 8316</span>&#160;basic_json_parser_52:</div><div class="line"><a name="l08317"></a><span class="lineno"> 8317</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08318"></a><span class="lineno"> 8318</span>&#160;                    {</div><div class="line"><a name="l08319"></a><span class="lineno"> 8319</span>&#160;                        <span class="keywordflow">continue</span>;</div><div class="line"><a name="l08320"></a><span class="lineno"> 8320</span>&#160;                    }</div><div class="line"><a name="l08321"></a><span class="lineno"> 8321</span>&#160;basic_json_parser_54:</div><div class="line"><a name="l08322"></a><span class="lineno"> 8322</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08323"></a><span class="lineno"> 8323</span>&#160;                    <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l08324"></a><span class="lineno"> 8324</span>&#160;                    {</div><div class="line"><a name="l08325"></a><span class="lineno"> 8325</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08326"></a><span class="lineno"> 8326</span>&#160;                    }</div><div class="line"><a name="l08327"></a><span class="lineno"> 8327</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l08328"></a><span class="lineno"> 8328</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;@&#39;</span>)</div><div class="line"><a name="l08329"></a><span class="lineno"> 8329</span>&#160;                    {</div><div class="line"><a name="l08330"></a><span class="lineno"> 8330</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08331"></a><span class="lineno"> 8331</span>&#160;                        {</div><div class="line"><a name="l08332"></a><span class="lineno"> 8332</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08333"></a><span class="lineno"> 8333</span>&#160;                        }</div><div class="line"><a name="l08334"></a><span class="lineno"> 8334</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08335"></a><span class="lineno"> 8335</span>&#160;                        {</div><div class="line"><a name="l08336"></a><span class="lineno"> 8336</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_60;</div><div class="line"><a name="l08337"></a><span class="lineno"> 8337</span>&#160;                        }</div><div class="line"><a name="l08338"></a><span class="lineno"> 8338</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08339"></a><span class="lineno"> 8339</span>&#160;                    }</div><div class="line"><a name="l08340"></a><span class="lineno"> 8340</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08341"></a><span class="lineno"> 8341</span>&#160;                    {</div><div class="line"><a name="l08342"></a><span class="lineno"> 8342</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;F&#39;</span>)</div><div class="line"><a name="l08343"></a><span class="lineno"> 8343</span>&#160;                        {</div><div class="line"><a name="l08344"></a><span class="lineno"> 8344</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_60;</div><div class="line"><a name="l08345"></a><span class="lineno"> 8345</span>&#160;                        }</div><div class="line"><a name="l08346"></a><span class="lineno"> 8346</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;`&#39;</span>)</div><div class="line"><a name="l08347"></a><span class="lineno"> 8347</span>&#160;                        {</div><div class="line"><a name="l08348"></a><span class="lineno"> 8348</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08349"></a><span class="lineno"> 8349</span>&#160;                        }</div><div class="line"><a name="l08350"></a><span class="lineno"> 8350</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l08351"></a><span class="lineno"> 8351</span>&#160;                        {</div><div class="line"><a name="l08352"></a><span class="lineno"> 8352</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_60;</div><div class="line"><a name="l08353"></a><span class="lineno"> 8353</span>&#160;                        }</div><div class="line"><a name="l08354"></a><span class="lineno"> 8354</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08355"></a><span class="lineno"> 8355</span>&#160;                    }</div><div class="line"><a name="l08356"></a><span class="lineno"> 8356</span>&#160;basic_json_parser_55:</div><div class="line"><a name="l08357"></a><span class="lineno"> 8357</span>&#160;                    yych = *++m_cursor;</div><div class="line"><a name="l08358"></a><span class="lineno"> 8358</span>&#160;                    <span class="keywordflow">if</span> (yych == <span class="charliteral">&#39;e&#39;</span>)</div><div class="line"><a name="l08359"></a><span class="lineno"> 8359</span>&#160;                    {</div><div class="line"><a name="l08360"></a><span class="lineno"> 8360</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_61;</div><div class="line"><a name="l08361"></a><span class="lineno"> 8361</span>&#160;                    }</div><div class="line"><a name="l08362"></a><span class="lineno"> 8362</span>&#160;                    <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08363"></a><span class="lineno"> 8363</span>&#160;basic_json_parser_56:</div><div class="line"><a name="l08364"></a><span class="lineno"> 8364</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08365"></a><span class="lineno"> 8365</span>&#160;                    {</div><div class="line"><a name="l08366"></a><span class="lineno"> 8366</span>&#160;                        last_token_type = token_type::literal_null;</div><div class="line"><a name="l08367"></a><span class="lineno"> 8367</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08368"></a><span class="lineno"> 8368</span>&#160;                    }</div><div class="line"><a name="l08369"></a><span class="lineno"> 8369</span>&#160;basic_json_parser_58:</div><div class="line"><a name="l08370"></a><span class="lineno"> 8370</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08371"></a><span class="lineno"> 8371</span>&#160;                    {</div><div class="line"><a name="l08372"></a><span class="lineno"> 8372</span>&#160;                        last_token_type = token_type::literal_true;</div><div class="line"><a name="l08373"></a><span class="lineno"> 8373</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08374"></a><span class="lineno"> 8374</span>&#160;                    }</div><div class="line"><a name="l08375"></a><span class="lineno"> 8375</span>&#160;basic_json_parser_60:</div><div class="line"><a name="l08376"></a><span class="lineno"> 8376</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08377"></a><span class="lineno"> 8377</span>&#160;                    <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l08378"></a><span class="lineno"> 8378</span>&#160;                    {</div><div class="line"><a name="l08379"></a><span class="lineno"> 8379</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08380"></a><span class="lineno"> 8380</span>&#160;                    }</div><div class="line"><a name="l08381"></a><span class="lineno"> 8381</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l08382"></a><span class="lineno"> 8382</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;@&#39;</span>)</div><div class="line"><a name="l08383"></a><span class="lineno"> 8383</span>&#160;                    {</div><div class="line"><a name="l08384"></a><span class="lineno"> 8384</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08385"></a><span class="lineno"> 8385</span>&#160;                        {</div><div class="line"><a name="l08386"></a><span class="lineno"> 8386</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08387"></a><span class="lineno"> 8387</span>&#160;                        }</div><div class="line"><a name="l08388"></a><span class="lineno"> 8388</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08389"></a><span class="lineno"> 8389</span>&#160;                        {</div><div class="line"><a name="l08390"></a><span class="lineno"> 8390</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_63;</div><div class="line"><a name="l08391"></a><span class="lineno"> 8391</span>&#160;                        }</div><div class="line"><a name="l08392"></a><span class="lineno"> 8392</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08393"></a><span class="lineno"> 8393</span>&#160;                    }</div><div class="line"><a name="l08394"></a><span class="lineno"> 8394</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08395"></a><span class="lineno"> 8395</span>&#160;                    {</div><div class="line"><a name="l08396"></a><span class="lineno"> 8396</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;F&#39;</span>)</div><div class="line"><a name="l08397"></a><span class="lineno"> 8397</span>&#160;                        {</div><div class="line"><a name="l08398"></a><span class="lineno"> 8398</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_63;</div><div class="line"><a name="l08399"></a><span class="lineno"> 8399</span>&#160;                        }</div><div class="line"><a name="l08400"></a><span class="lineno"> 8400</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;`&#39;</span>)</div><div class="line"><a name="l08401"></a><span class="lineno"> 8401</span>&#160;                        {</div><div class="line"><a name="l08402"></a><span class="lineno"> 8402</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08403"></a><span class="lineno"> 8403</span>&#160;                        }</div><div class="line"><a name="l08404"></a><span class="lineno"> 8404</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l08405"></a><span class="lineno"> 8405</span>&#160;                        {</div><div class="line"><a name="l08406"></a><span class="lineno"> 8406</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_63;</div><div class="line"><a name="l08407"></a><span class="lineno"> 8407</span>&#160;                        }</div><div class="line"><a name="l08408"></a><span class="lineno"> 8408</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08409"></a><span class="lineno"> 8409</span>&#160;                    }</div><div class="line"><a name="l08410"></a><span class="lineno"> 8410</span>&#160;basic_json_parser_61:</div><div class="line"><a name="l08411"></a><span class="lineno"> 8411</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08412"></a><span class="lineno"> 8412</span>&#160;                    {</div><div class="line"><a name="l08413"></a><span class="lineno"> 8413</span>&#160;                        last_token_type = token_type::literal_false;</div><div class="line"><a name="l08414"></a><span class="lineno"> 8414</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l08415"></a><span class="lineno"> 8415</span>&#160;                    }</div><div class="line"><a name="l08416"></a><span class="lineno"> 8416</span>&#160;basic_json_parser_63:</div><div class="line"><a name="l08417"></a><span class="lineno"> 8417</span>&#160;                    ++m_cursor;</div><div class="line"><a name="l08418"></a><span class="lineno"> 8418</span>&#160;                    <span class="keywordflow">if</span> (m_limit &lt;= m_cursor)</div><div class="line"><a name="l08419"></a><span class="lineno"> 8419</span>&#160;                    {</div><div class="line"><a name="l08420"></a><span class="lineno"> 8420</span>&#160;                        yyfill();    <span class="comment">// LCOV_EXCL_LINE;</span></div><div class="line"><a name="l08421"></a><span class="lineno"> 8421</span>&#160;                    }</div><div class="line"><a name="l08422"></a><span class="lineno"> 8422</span>&#160;                    yych = *m_cursor;</div><div class="line"><a name="l08423"></a><span class="lineno"> 8423</span>&#160;                    <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;@&#39;</span>)</div><div class="line"><a name="l08424"></a><span class="lineno"> 8424</span>&#160;                    {</div><div class="line"><a name="l08425"></a><span class="lineno"> 8425</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l08426"></a><span class="lineno"> 8426</span>&#160;                        {</div><div class="line"><a name="l08427"></a><span class="lineno"> 8427</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08428"></a><span class="lineno"> 8428</span>&#160;                        }</div><div class="line"><a name="l08429"></a><span class="lineno"> 8429</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08430"></a><span class="lineno"> 8430</span>&#160;                        {</div><div class="line"><a name="l08431"></a><span class="lineno"> 8431</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08432"></a><span class="lineno"> 8432</span>&#160;                        }</div><div class="line"><a name="l08433"></a><span class="lineno"> 8433</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08434"></a><span class="lineno"> 8434</span>&#160;                    }</div><div class="line"><a name="l08435"></a><span class="lineno"> 8435</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08436"></a><span class="lineno"> 8436</span>&#160;                    {</div><div class="line"><a name="l08437"></a><span class="lineno"> 8437</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;F&#39;</span>)</div><div class="line"><a name="l08438"></a><span class="lineno"> 8438</span>&#160;                        {</div><div class="line"><a name="l08439"></a><span class="lineno"> 8439</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08440"></a><span class="lineno"> 8440</span>&#160;                        }</div><div class="line"><a name="l08441"></a><span class="lineno"> 8441</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;`&#39;</span>)</div><div class="line"><a name="l08442"></a><span class="lineno"> 8442</span>&#160;                        {</div><div class="line"><a name="l08443"></a><span class="lineno"> 8443</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08444"></a><span class="lineno"> 8444</span>&#160;                        }</div><div class="line"><a name="l08445"></a><span class="lineno"> 8445</span>&#160;                        <span class="keywordflow">if</span> (yych &lt;= <span class="charliteral">&#39;f&#39;</span>)</div><div class="line"><a name="l08446"></a><span class="lineno"> 8446</span>&#160;                        {</div><div class="line"><a name="l08447"></a><span class="lineno"> 8447</span>&#160;                            <span class="keywordflow">goto</span> basic_json_parser_31;</div><div class="line"><a name="l08448"></a><span class="lineno"> 8448</span>&#160;                        }</div><div class="line"><a name="l08449"></a><span class="lineno"> 8449</span>&#160;                        <span class="keywordflow">goto</span> basic_json_parser_33;</div><div class="line"><a name="l08450"></a><span class="lineno"> 8450</span>&#160;                    }</div><div class="line"><a name="l08451"></a><span class="lineno"> 8451</span>&#160;                }</div><div class="line"><a name="l08452"></a><span class="lineno"> 8452</span>&#160;</div><div class="line"><a name="l08453"></a><span class="lineno"> 8453</span>&#160;            }</div><div class="line"><a name="l08454"></a><span class="lineno"> 8454</span>&#160;</div><div class="line"><a name="l08455"></a><span class="lineno"> 8455</span>&#160;            <span class="keywordflow">return</span> last_token_type;</div><div class="line"><a name="l08456"></a><span class="lineno"> 8456</span>&#160;        }</div><div class="line"><a name="l08457"></a><span class="lineno"> 8457</span>&#160;</div><div class="line"><a name="l08459"></a><span class="lineno"> 8459</span>&#160;        <span class="keywordtype">void</span> yyfill() noexcept</div><div class="line"><a name="l08460"></a><span class="lineno"> 8460</span>&#160;        {</div><div class="line"><a name="l08461"></a><span class="lineno"> 8461</span>&#160;            <span class="keywordflow">if</span> (m_stream == <span class="keyword">nullptr</span> or not * m_stream)</div><div class="line"><a name="l08462"></a><span class="lineno"> 8462</span>&#160;            {</div><div class="line"><a name="l08463"></a><span class="lineno"> 8463</span>&#160;                <span class="keywordflow">return</span>;</div><div class="line"><a name="l08464"></a><span class="lineno"> 8464</span>&#160;            }</div><div class="line"><a name="l08465"></a><span class="lineno"> 8465</span>&#160;</div><div class="line"><a name="l08466"></a><span class="lineno"> 8466</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> offset_start = m_start - m_content;</div><div class="line"><a name="l08467"></a><span class="lineno"> 8467</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> offset_marker = m_marker - m_start;</div><div class="line"><a name="l08468"></a><span class="lineno"> 8468</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> offset_cursor = m_cursor - m_start;</div><div class="line"><a name="l08469"></a><span class="lineno"> 8469</span>&#160;</div><div class="line"><a name="l08470"></a><span class="lineno"> 8470</span>&#160;            m_buffer.erase(0, static_cast&lt;size_t&gt;(offset_start));</div><div class="line"><a name="l08471"></a><span class="lineno"> 8471</span>&#160;            std::string line;</div><div class="line"><a name="l08472"></a><span class="lineno"> 8472</span>&#160;            assert(m_stream != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l08473"></a><span class="lineno"> 8473</span>&#160;            std::getline(*m_stream, line);</div><div class="line"><a name="l08474"></a><span class="lineno"> 8474</span>&#160;            m_buffer += <span class="stringliteral">&quot;\n&quot;</span> + line; <span class="comment">// add line with newline symbol</span></div><div class="line"><a name="l08475"></a><span class="lineno"> 8475</span>&#160;</div><div class="line"><a name="l08476"></a><span class="lineno"> 8476</span>&#160;            m_content = <span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>lexer_char_t*<span class="keyword">&gt;</span>(m_buffer.c_str());</div><div class="line"><a name="l08477"></a><span class="lineno"> 8477</span>&#160;            assert(m_content != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l08478"></a><span class="lineno"> 8478</span>&#160;            m_start  = m_content;</div><div class="line"><a name="l08479"></a><span class="lineno"> 8479</span>&#160;            m_marker = m_start + offset_marker;</div><div class="line"><a name="l08480"></a><span class="lineno"> 8480</span>&#160;            m_cursor = m_start + offset_cursor;</div><div class="line"><a name="l08481"></a><span class="lineno"> 8481</span>&#160;            m_limit  = m_start + m_buffer.size() - 1;</div><div class="line"><a name="l08482"></a><span class="lineno"> 8482</span>&#160;        }</div><div class="line"><a name="l08483"></a><span class="lineno"> 8483</span>&#160;</div><div class="line"><a name="l08485"></a><span class="lineno"> 8485</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> get_token_string()<span class="keyword"> const</span></div><div class="line"><a name="l08486"></a><span class="lineno"> 8486</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08487"></a><span class="lineno"> 8487</span>&#160;            assert(m_start != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l08488"></a><span class="lineno"> 8488</span>&#160;            <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>(reinterpret_cast&lt;typename string_t::const_pointer&gt;(m_start),</div><div class="line"><a name="l08489"></a><span class="lineno"> 8489</span>&#160;                            static_cast&lt;size_t&gt;(m_cursor - m_start));</div><div class="line"><a name="l08490"></a><span class="lineno"> 8490</span>&#160;        }</div><div class="line"><a name="l08491"></a><span class="lineno"> 8491</span>&#160;</div><div class="line"><a name="l08549"></a><span class="lineno"> 8549</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> get_string()<span class="keyword"> const</span></div><div class="line"><a name="l08550"></a><span class="lineno"> 8550</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08551"></a><span class="lineno"> 8551</span>&#160;            assert(m_cursor - m_start &gt;= 2);</div><div class="line"><a name="l08552"></a><span class="lineno"> 8552</span>&#160;</div><div class="line"><a name="l08553"></a><span class="lineno"> 8553</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> result;</div><div class="line"><a name="l08554"></a><span class="lineno"> 8554</span>&#160;            result.reserve(static_cast&lt;size_t&gt;(m_cursor - m_start - 2));</div><div class="line"><a name="l08555"></a><span class="lineno"> 8555</span>&#160;</div><div class="line"><a name="l08556"></a><span class="lineno"> 8556</span>&#160;            <span class="comment">// iterate the result between the quotes</span></div><div class="line"><a name="l08557"></a><span class="lineno"> 8557</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> lexer_char_t* i = m_start + 1; i &lt; m_cursor - 1; ++i)</div><div class="line"><a name="l08558"></a><span class="lineno"> 8558</span>&#160;            {</div><div class="line"><a name="l08559"></a><span class="lineno"> 8559</span>&#160;                <span class="comment">// process escaped characters</span></div><div class="line"><a name="l08560"></a><span class="lineno"> 8560</span>&#160;                <span class="keywordflow">if</span> (*i == <span class="charliteral">&#39;\\&#39;</span>)</div><div class="line"><a name="l08561"></a><span class="lineno"> 8561</span>&#160;                {</div><div class="line"><a name="l08562"></a><span class="lineno"> 8562</span>&#160;                    <span class="comment">// read next character</span></div><div class="line"><a name="l08563"></a><span class="lineno"> 8563</span>&#160;                    ++i;</div><div class="line"><a name="l08564"></a><span class="lineno"> 8564</span>&#160;</div><div class="line"><a name="l08565"></a><span class="lineno"> 8565</span>&#160;                    <span class="keywordflow">switch</span> (*i)</div><div class="line"><a name="l08566"></a><span class="lineno"> 8566</span>&#160;                    {</div><div class="line"><a name="l08567"></a><span class="lineno"> 8567</span>&#160;                        <span class="comment">// the default escapes</span></div><div class="line"><a name="l08568"></a><span class="lineno"> 8568</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;t&#39;</span>:</div><div class="line"><a name="l08569"></a><span class="lineno"> 8569</span>&#160;                        {</div><div class="line"><a name="l08570"></a><span class="lineno"> 8570</span>&#160;                            result += <span class="stringliteral">&quot;\t&quot;</span>;</div><div class="line"><a name="l08571"></a><span class="lineno"> 8571</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08572"></a><span class="lineno"> 8572</span>&#160;                        }</div><div class="line"><a name="l08573"></a><span class="lineno"> 8573</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;b&#39;</span>:</div><div class="line"><a name="l08574"></a><span class="lineno"> 8574</span>&#160;                        {</div><div class="line"><a name="l08575"></a><span class="lineno"> 8575</span>&#160;                            result += <span class="stringliteral">&quot;\b&quot;</span>;</div><div class="line"><a name="l08576"></a><span class="lineno"> 8576</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08577"></a><span class="lineno"> 8577</span>&#160;                        }</div><div class="line"><a name="l08578"></a><span class="lineno"> 8578</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;f&#39;</span>:</div><div class="line"><a name="l08579"></a><span class="lineno"> 8579</span>&#160;                        {</div><div class="line"><a name="l08580"></a><span class="lineno"> 8580</span>&#160;                            result += <span class="stringliteral">&quot;\f&quot;</span>;</div><div class="line"><a name="l08581"></a><span class="lineno"> 8581</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08582"></a><span class="lineno"> 8582</span>&#160;                        }</div><div class="line"><a name="l08583"></a><span class="lineno"> 8583</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;n&#39;</span>:</div><div class="line"><a name="l08584"></a><span class="lineno"> 8584</span>&#160;                        {</div><div class="line"><a name="l08585"></a><span class="lineno"> 8585</span>&#160;                            result += <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l08586"></a><span class="lineno"> 8586</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08587"></a><span class="lineno"> 8587</span>&#160;                        }</div><div class="line"><a name="l08588"></a><span class="lineno"> 8588</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;r&#39;</span>:</div><div class="line"><a name="l08589"></a><span class="lineno"> 8589</span>&#160;                        {</div><div class="line"><a name="l08590"></a><span class="lineno"> 8590</span>&#160;                            result += <span class="stringliteral">&quot;\r&quot;</span>;</div><div class="line"><a name="l08591"></a><span class="lineno"> 8591</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08592"></a><span class="lineno"> 8592</span>&#160;                        }</div><div class="line"><a name="l08593"></a><span class="lineno"> 8593</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;\\&#39;</span>:</div><div class="line"><a name="l08594"></a><span class="lineno"> 8594</span>&#160;                        {</div><div class="line"><a name="l08595"></a><span class="lineno"> 8595</span>&#160;                            result += <span class="stringliteral">&quot;\\&quot;</span>;</div><div class="line"><a name="l08596"></a><span class="lineno"> 8596</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08597"></a><span class="lineno"> 8597</span>&#160;                        }</div><div class="line"><a name="l08598"></a><span class="lineno"> 8598</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;/&#39;</span>:</div><div class="line"><a name="l08599"></a><span class="lineno"> 8599</span>&#160;                        {</div><div class="line"><a name="l08600"></a><span class="lineno"> 8600</span>&#160;                            result += <span class="stringliteral">&quot;/&quot;</span>;</div><div class="line"><a name="l08601"></a><span class="lineno"> 8601</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08602"></a><span class="lineno"> 8602</span>&#160;                        }</div><div class="line"><a name="l08603"></a><span class="lineno"> 8603</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;&quot;&#39;</span>:</div><div class="line"><a name="l08604"></a><span class="lineno"> 8604</span>&#160;                        {</div><div class="line"><a name="l08605"></a><span class="lineno"> 8605</span>&#160;                            result += <span class="stringliteral">&quot;\&quot;&quot;</span>;</div><div class="line"><a name="l08606"></a><span class="lineno"> 8606</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08607"></a><span class="lineno"> 8607</span>&#160;                        }</div><div class="line"><a name="l08608"></a><span class="lineno"> 8608</span>&#160;</div><div class="line"><a name="l08609"></a><span class="lineno"> 8609</span>&#160;                        <span class="comment">// unicode</span></div><div class="line"><a name="l08610"></a><span class="lineno"> 8610</span>&#160;                        <span class="keywordflow">case</span> <span class="charliteral">&#39;u&#39;</span>:</div><div class="line"><a name="l08611"></a><span class="lineno"> 8611</span>&#160;                        {</div><div class="line"><a name="l08612"></a><span class="lineno"> 8612</span>&#160;                            <span class="comment">// get code xxxx from uxxxx</span></div><div class="line"><a name="l08613"></a><span class="lineno"> 8613</span>&#160;                            <span class="keyword">auto</span> codepoint = std::strtoul(std::string(reinterpret_cast&lt;typename string_t::const_pointer&gt;(i + 1),</div><div class="line"><a name="l08614"></a><span class="lineno"> 8614</span>&#160;                                                          4).c_str(), <span class="keyword">nullptr</span>, 16);</div><div class="line"><a name="l08615"></a><span class="lineno"> 8615</span>&#160;</div><div class="line"><a name="l08616"></a><span class="lineno"> 8616</span>&#160;                            <span class="comment">// check if codepoint is a high surrogate</span></div><div class="line"><a name="l08617"></a><span class="lineno"> 8617</span>&#160;                            <span class="keywordflow">if</span> (codepoint &gt;= 0xD800 and codepoint &lt;= 0xDBFF)</div><div class="line"><a name="l08618"></a><span class="lineno"> 8618</span>&#160;                            {</div><div class="line"><a name="l08619"></a><span class="lineno"> 8619</span>&#160;                                <span class="comment">// make sure there is a subsequent unicode</span></div><div class="line"><a name="l08620"></a><span class="lineno"> 8620</span>&#160;                                <span class="keywordflow">if</span> ((i + 6 &gt;= m_limit) or * (i + 5) != <span class="charliteral">&#39;\\&#39;</span> or * (i + 6) != <span class="charliteral">&#39;u&#39;</span>)</div><div class="line"><a name="l08621"></a><span class="lineno"> 8621</span>&#160;                                {</div><div class="line"><a name="l08622"></a><span class="lineno"> 8622</span>&#160;                                    <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;missing low surrogate&quot;</span>);</div><div class="line"><a name="l08623"></a><span class="lineno"> 8623</span>&#160;                                }</div><div class="line"><a name="l08624"></a><span class="lineno"> 8624</span>&#160;</div><div class="line"><a name="l08625"></a><span class="lineno"> 8625</span>&#160;                                <span class="comment">// get code yyyy from uxxxx\uyyyy</span></div><div class="line"><a name="l08626"></a><span class="lineno"> 8626</span>&#160;                                <span class="keyword">auto</span> codepoint2 = std::strtoul(std::string(reinterpret_cast&lt;typename string_t::const_pointer&gt;</div><div class="line"><a name="l08627"></a><span class="lineno"> 8627</span>&#160;                                                               (i + 7), 4).c_str(), <span class="keyword">nullptr</span>, 16);</div><div class="line"><a name="l08628"></a><span class="lineno"> 8628</span>&#160;                                result += to_unicode(codepoint, codepoint2);</div><div class="line"><a name="l08629"></a><span class="lineno"> 8629</span>&#160;                                <span class="comment">// skip the next 10 characters (xxxx\uyyyy)</span></div><div class="line"><a name="l08630"></a><span class="lineno"> 8630</span>&#160;                                i += 10;</div><div class="line"><a name="l08631"></a><span class="lineno"> 8631</span>&#160;                            }</div><div class="line"><a name="l08632"></a><span class="lineno"> 8632</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l08633"></a><span class="lineno"> 8633</span>&#160;                            {</div><div class="line"><a name="l08634"></a><span class="lineno"> 8634</span>&#160;                                <span class="comment">// add unicode character(s)</span></div><div class="line"><a name="l08635"></a><span class="lineno"> 8635</span>&#160;                                result += to_unicode(codepoint);</div><div class="line"><a name="l08636"></a><span class="lineno"> 8636</span>&#160;                                <span class="comment">// skip the next four characters (xxxx)</span></div><div class="line"><a name="l08637"></a><span class="lineno"> 8637</span>&#160;                                i += 4;</div><div class="line"><a name="l08638"></a><span class="lineno"> 8638</span>&#160;                            }</div><div class="line"><a name="l08639"></a><span class="lineno"> 8639</span>&#160;                            <span class="keywordflow">break</span>;</div><div class="line"><a name="l08640"></a><span class="lineno"> 8640</span>&#160;                        }</div><div class="line"><a name="l08641"></a><span class="lineno"> 8641</span>&#160;                    }</div><div class="line"><a name="l08642"></a><span class="lineno"> 8642</span>&#160;                }</div><div class="line"><a name="l08643"></a><span class="lineno"> 8643</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l08644"></a><span class="lineno"> 8644</span>&#160;                {</div><div class="line"><a name="l08645"></a><span class="lineno"> 8645</span>&#160;                    <span class="comment">// all other characters are just copied to the end of the</span></div><div class="line"><a name="l08646"></a><span class="lineno"> 8646</span>&#160;                    <span class="comment">// string</span></div><div class="line"><a name="l08647"></a><span class="lineno"> 8647</span>&#160;                    result.append(1, static_cast&lt;typename string_t::value_type&gt;(*i));</div><div class="line"><a name="l08648"></a><span class="lineno"> 8648</span>&#160;                }</div><div class="line"><a name="l08649"></a><span class="lineno"> 8649</span>&#160;            }</div><div class="line"><a name="l08650"></a><span class="lineno"> 8650</span>&#160;</div><div class="line"><a name="l08651"></a><span class="lineno"> 8651</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08652"></a><span class="lineno"> 8652</span>&#160;        }</div><div class="line"><a name="l08653"></a><span class="lineno"> 8653</span>&#160;</div><div class="line"><a name="l08669"></a><span class="lineno"> 8669</span>&#160;        <span class="keywordtype">long</span> <span class="keywordtype">double</span> str_to_float_t(<span class="keywordtype">long</span> <span class="keywordtype">double</span>* <span class="comment">/* type */</span>, <span class="keywordtype">char</span>** endptr)<span class="keyword"> const</span></div><div class="line"><a name="l08670"></a><span class="lineno"> 8670</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08671"></a><span class="lineno"> 8671</span>&#160;            <span class="keywordflow">return</span> std::strtold(reinterpret_cast&lt;typename string_t::const_pointer&gt;(m_start), endptr);</div><div class="line"><a name="l08672"></a><span class="lineno"> 8672</span>&#160;        }</div><div class="line"><a name="l08673"></a><span class="lineno"> 8673</span>&#160;</div><div class="line"><a name="l08689"></a><span class="lineno"> 8689</span>&#160;        <span class="keywordtype">double</span> str_to_float_t(<span class="keywordtype">double</span>* <span class="comment">/* type */</span>, <span class="keywordtype">char</span>** endptr)<span class="keyword"> const</span></div><div class="line"><a name="l08690"></a><span class="lineno"> 8690</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08691"></a><span class="lineno"> 8691</span>&#160;            <span class="keywordflow">return</span> std::strtod(reinterpret_cast&lt;typename string_t::const_pointer&gt;(m_start), endptr);</div><div class="line"><a name="l08692"></a><span class="lineno"> 8692</span>&#160;        }</div><div class="line"><a name="l08693"></a><span class="lineno"> 8693</span>&#160;</div><div class="line"><a name="l08709"></a><span class="lineno"> 8709</span>&#160;        <span class="keywordtype">float</span> str_to_float_t(<span class="keywordtype">float</span>* <span class="comment">/* type */</span>, <span class="keywordtype">char</span>** endptr)<span class="keyword"> const</span></div><div class="line"><a name="l08710"></a><span class="lineno"> 8710</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08711"></a><span class="lineno"> 8711</span>&#160;            <span class="keywordflow">return</span> std::strtof(reinterpret_cast&lt;typename string_t::const_pointer&gt;(m_start), endptr);</div><div class="line"><a name="l08712"></a><span class="lineno"> 8712</span>&#160;        }</div><div class="line"><a name="l08713"></a><span class="lineno"> 8713</span>&#160;</div><div class="line"><a name="l08735"></a><span class="lineno"> 8735</span>&#160;        <span class="keywordtype">void</span> get_number(<a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; result)<span class="keyword"> const</span></div><div class="line"><a name="l08736"></a><span class="lineno"> 8736</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l08737"></a><span class="lineno"> 8737</span>&#160;            assert(m_start != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l08738"></a><span class="lineno"> 8738</span>&#160;</div><div class="line"><a name="l08739"></a><span class="lineno"> 8739</span>&#160;            <span class="keyword">const</span> lexer::lexer_char_t* curptr = m_start;</div><div class="line"><a name="l08740"></a><span class="lineno"> 8740</span>&#160;</div><div class="line"><a name="l08741"></a><span class="lineno"> 8741</span>&#160;            <span class="comment">// accumulate the integer conversion result (unsigned for now)</span></div><div class="line"><a name="l08742"></a><span class="lineno"> 8742</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> value = 0;</div><div class="line"><a name="l08743"></a><span class="lineno"> 8743</span>&#160;</div><div class="line"><a name="l08744"></a><span class="lineno"> 8744</span>&#160;            <span class="comment">// maximum absolute value of the relevant integer type</span></div><div class="line"><a name="l08745"></a><span class="lineno"> 8745</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">number_unsigned_t</a> max;</div><div class="line"><a name="l08746"></a><span class="lineno"> 8746</span>&#160;</div><div class="line"><a name="l08747"></a><span class="lineno"> 8747</span>&#160;            <span class="comment">// temporarily store the type to avoid unecessary bitfield access</span></div><div class="line"><a name="l08748"></a><span class="lineno"> 8748</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">value_t</a> type;</div><div class="line"><a name="l08749"></a><span class="lineno"> 8749</span>&#160;</div><div class="line"><a name="l08750"></a><span class="lineno"> 8750</span>&#160;            <span class="comment">// look for sign</span></div><div class="line"><a name="l08751"></a><span class="lineno"> 8751</span>&#160;            <span class="keywordflow">if</span> (*curptr == <span class="charliteral">&#39;-&#39;</span>)</div><div class="line"><a name="l08752"></a><span class="lineno"> 8752</span>&#160;            {</div><div class="line"><a name="l08753"></a><span class="lineno"> 8753</span>&#160;                type = value_t::number_integer;</div><div class="line"><a name="l08754"></a><span class="lineno"> 8754</span>&#160;                max = <span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>((std::numeric_limits&lt;number_integer_t&gt;::max)()) + 1;</div><div class="line"><a name="l08755"></a><span class="lineno"> 8755</span>&#160;                curptr++;</div><div class="line"><a name="l08756"></a><span class="lineno"> 8756</span>&#160;            }</div><div class="line"><a name="l08757"></a><span class="lineno"> 8757</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l08758"></a><span class="lineno"> 8758</span>&#160;            {</div><div class="line"><a name="l08759"></a><span class="lineno"> 8759</span>&#160;                type = value_t::number_unsigned;</div><div class="line"><a name="l08760"></a><span class="lineno"> 8760</span>&#160;                max = <span class="keyword">static_cast&lt;</span>uint64_t<span class="keyword">&gt;</span>((std::numeric_limits&lt;number_unsigned_t&gt;::max)());</div><div class="line"><a name="l08761"></a><span class="lineno"> 8761</span>&#160;            }</div><div class="line"><a name="l08762"></a><span class="lineno"> 8762</span>&#160;</div><div class="line"><a name="l08763"></a><span class="lineno"> 8763</span>&#160;            <span class="comment">// count the significant figures</span></div><div class="line"><a name="l08764"></a><span class="lineno"> 8764</span>&#160;            <span class="keywordflow">for</span> (; curptr &lt; m_cursor; curptr++)</div><div class="line"><a name="l08765"></a><span class="lineno"> 8765</span>&#160;            {</div><div class="line"><a name="l08766"></a><span class="lineno"> 8766</span>&#160;                <span class="comment">// quickly skip tests if a digit</span></div><div class="line"><a name="l08767"></a><span class="lineno"> 8767</span>&#160;                <span class="keywordflow">if</span> (*curptr &lt; &#39;0&#39; || *curptr &gt; <span class="charliteral">&#39;9&#39;</span>)</div><div class="line"><a name="l08768"></a><span class="lineno"> 8768</span>&#160;                {</div><div class="line"><a name="l08769"></a><span class="lineno"> 8769</span>&#160;                    <span class="keywordflow">if</span> (*curptr == <span class="charliteral">&#39;.&#39;</span>)</div><div class="line"><a name="l08770"></a><span class="lineno"> 8770</span>&#160;                    {</div><div class="line"><a name="l08771"></a><span class="lineno"> 8771</span>&#160;                        <span class="comment">// don&#39;t count &#39;.&#39; but change to float</span></div><div class="line"><a name="l08772"></a><span class="lineno"> 8772</span>&#160;                        type = value_t::number_float;</div><div class="line"><a name="l08773"></a><span class="lineno"> 8773</span>&#160;                        <span class="keywordflow">continue</span>;</div><div class="line"><a name="l08774"></a><span class="lineno"> 8774</span>&#160;                    }</div><div class="line"><a name="l08775"></a><span class="lineno"> 8775</span>&#160;                    <span class="comment">// assume exponent (if not then will fail parse): change to</span></div><div class="line"><a name="l08776"></a><span class="lineno"> 8776</span>&#160;                    <span class="comment">// float, stop counting and record exponent details</span></div><div class="line"><a name="l08777"></a><span class="lineno"> 8777</span>&#160;                    type = value_t::number_float;</div><div class="line"><a name="l08778"></a><span class="lineno"> 8778</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l08779"></a><span class="lineno"> 8779</span>&#160;                }</div><div class="line"><a name="l08780"></a><span class="lineno"> 8780</span>&#160;</div><div class="line"><a name="l08781"></a><span class="lineno"> 8781</span>&#160;                <span class="comment">// skip if definitely not an integer</span></div><div class="line"><a name="l08782"></a><span class="lineno"> 8782</span>&#160;                <span class="keywordflow">if</span> (type != value_t::number_float)</div><div class="line"><a name="l08783"></a><span class="lineno"> 8783</span>&#160;                {</div><div class="line"><a name="l08784"></a><span class="lineno"> 8784</span>&#160;                    <span class="comment">// multiply last value by ten and add the new digit</span></div><div class="line"><a name="l08785"></a><span class="lineno"> 8785</span>&#160;                    <span class="keyword">auto</span> temp = value * 10 + *curptr - <span class="charliteral">&#39;0&#39;</span>;</div><div class="line"><a name="l08786"></a><span class="lineno"> 8786</span>&#160;</div><div class="line"><a name="l08787"></a><span class="lineno"> 8787</span>&#160;                    <span class="comment">// test for overflow</span></div><div class="line"><a name="l08788"></a><span class="lineno"> 8788</span>&#160;                    <span class="keywordflow">if</span> (temp &lt; value || temp &gt; max)</div><div class="line"><a name="l08789"></a><span class="lineno"> 8789</span>&#160;                    {</div><div class="line"><a name="l08790"></a><span class="lineno"> 8790</span>&#160;                        <span class="comment">// overflow</span></div><div class="line"><a name="l08791"></a><span class="lineno"> 8791</span>&#160;                        type = value_t::number_float;</div><div class="line"><a name="l08792"></a><span class="lineno"> 8792</span>&#160;                    }</div><div class="line"><a name="l08793"></a><span class="lineno"> 8793</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l08794"></a><span class="lineno"> 8794</span>&#160;                    {</div><div class="line"><a name="l08795"></a><span class="lineno"> 8795</span>&#160;                        <span class="comment">// no overflow - save it</span></div><div class="line"><a name="l08796"></a><span class="lineno"> 8796</span>&#160;                        value = temp;</div><div class="line"><a name="l08797"></a><span class="lineno"> 8797</span>&#160;                    }</div><div class="line"><a name="l08798"></a><span class="lineno"> 8798</span>&#160;                }</div><div class="line"><a name="l08799"></a><span class="lineno"> 8799</span>&#160;            }</div><div class="line"><a name="l08800"></a><span class="lineno"> 8800</span>&#160;</div><div class="line"><a name="l08801"></a><span class="lineno"> 8801</span>&#160;            <span class="comment">// save the value (if not a float)</span></div><div class="line"><a name="l08802"></a><span class="lineno"> 8802</span>&#160;            <span class="keywordflow">if</span> (type == value_t::number_unsigned)</div><div class="line"><a name="l08803"></a><span class="lineno"> 8803</span>&#160;            {</div><div class="line"><a name="l08804"></a><span class="lineno"> 8804</span>&#160;                result.m_value.number_unsigned = value;</div><div class="line"><a name="l08805"></a><span class="lineno"> 8805</span>&#160;            }</div><div class="line"><a name="l08806"></a><span class="lineno"> 8806</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type == value_t::number_integer)</div><div class="line"><a name="l08807"></a><span class="lineno"> 8807</span>&#160;            {</div><div class="line"><a name="l08808"></a><span class="lineno"> 8808</span>&#160;                result.m_value.number_integer = -<span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">number_integer_t</a><span class="keyword">&gt;</span>(value);</div><div class="line"><a name="l08809"></a><span class="lineno"> 8809</span>&#160;            }</div><div class="line"><a name="l08810"></a><span class="lineno"> 8810</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l08811"></a><span class="lineno"> 8811</span>&#160;            {</div><div class="line"><a name="l08812"></a><span class="lineno"> 8812</span>&#160;                <span class="comment">// parse with strtod</span></div><div class="line"><a name="l08813"></a><span class="lineno"> 8813</span>&#160;                result.m_value.number_float = str_to_float_t(static_cast&lt;number_float_t*&gt;(<span class="keyword">nullptr</span>), NULL);</div><div class="line"><a name="l08814"></a><span class="lineno"> 8814</span>&#160;            }</div><div class="line"><a name="l08815"></a><span class="lineno"> 8815</span>&#160;</div><div class="line"><a name="l08816"></a><span class="lineno"> 8816</span>&#160;            <span class="comment">// save the type</span></div><div class="line"><a name="l08817"></a><span class="lineno"> 8817</span>&#160;            result.m_type = type;</div><div class="line"><a name="l08818"></a><span class="lineno"> 8818</span>&#160;        }</div><div class="line"><a name="l08819"></a><span class="lineno"> 8819</span>&#160;</div><div class="line"><a name="l08820"></a><span class="lineno"> 8820</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l08822"></a><span class="lineno"> 8822</span>&#160;        std::istream* m_stream = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08824"></a><span class="lineno"> 8824</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a> m_buffer;</div><div class="line"><a name="l08826"></a><span class="lineno"> 8826</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_content = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08828"></a><span class="lineno"> 8828</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_start = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08830"></a><span class="lineno"> 8830</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_marker = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08832"></a><span class="lineno"> 8832</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_cursor = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08834"></a><span class="lineno"> 8834</span>&#160;        <span class="keyword">const</span> lexer_char_t* m_limit = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l08836"></a><span class="lineno"> 8836</span>&#160;        token_type last_token_type = token_type::end_of_input;</div><div class="line"><a name="l08837"></a><span class="lineno"> 8837</span>&#160;    };</div><div class="line"><a name="l08838"></a><span class="lineno"> 8838</span>&#160;</div><div class="line"><a name="l08844"></a><span class="lineno"> 8844</span>&#160;    <span class="keyword">class </span>parser</div><div class="line"><a name="l08845"></a><span class="lineno"> 8845</span>&#160;    {</div><div class="line"><a name="l08846"></a><span class="lineno"> 8846</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l08848"></a><span class="lineno"> 8848</span>&#160;        parser(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">string_t</a>&amp; s, <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>) noexcept</div><div class="line"><a name="l08849"></a><span class="lineno"> 8849</span>&#160;            : callback(cb), m_lexer(s)</div><div class="line"><a name="l08850"></a><span class="lineno"> 8850</span>&#160;        {</div><div class="line"><a name="l08851"></a><span class="lineno"> 8851</span>&#160;            <span class="comment">// read first token</span></div><div class="line"><a name="l08852"></a><span class="lineno"> 8852</span>&#160;            get_token();</div><div class="line"><a name="l08853"></a><span class="lineno"> 8853</span>&#160;        }</div><div class="line"><a name="l08854"></a><span class="lineno"> 8854</span>&#160;</div><div class="line"><a name="l08856"></a><span class="lineno"> 8856</span>&#160;        parser(std::istream&amp; _is, <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> cb = <span class="keyword">nullptr</span>) noexcept</div><div class="line"><a name="l08857"></a><span class="lineno"> 8857</span>&#160;            : callback(cb), m_lexer(&amp;_is)</div><div class="line"><a name="l08858"></a><span class="lineno"> 8858</span>&#160;        {</div><div class="line"><a name="l08859"></a><span class="lineno"> 8859</span>&#160;            <span class="comment">// read first token</span></div><div class="line"><a name="l08860"></a><span class="lineno"> 8860</span>&#160;            get_token();</div><div class="line"><a name="l08861"></a><span class="lineno"> 8861</span>&#160;        }</div><div class="line"><a name="l08862"></a><span class="lineno"> 8862</span>&#160;</div><div class="line"><a name="l08864"></a><span class="lineno"> 8864</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> parse()</div><div class="line"><a name="l08865"></a><span class="lineno"> 8865</span>&#160;        {</div><div class="line"><a name="l08866"></a><span class="lineno"> 8866</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> result = parse_internal(<span class="keyword">true</span>);</div><div class="line"><a name="l08867"></a><span class="lineno"> 8867</span>&#160;            result.assert_invariant();</div><div class="line"><a name="l08868"></a><span class="lineno"> 8868</span>&#160;</div><div class="line"><a name="l08869"></a><span class="lineno"> 8869</span>&#160;            expect(lexer::token_type::end_of_input);</div><div class="line"><a name="l08870"></a><span class="lineno"> 8870</span>&#160;</div><div class="line"><a name="l08871"></a><span class="lineno"> 8871</span>&#160;            <span class="comment">// return parser result and replace it with null in case the</span></div><div class="line"><a name="l08872"></a><span class="lineno"> 8872</span>&#160;            <span class="comment">// top-level value was discarded by the callback function</span></div><div class="line"><a name="l08873"></a><span class="lineno"> 8873</span>&#160;            <span class="keywordflow">return</span> result.<a class="code" href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">is_discarded</a>() ? <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>() : std::move(result);</div><div class="line"><a name="l08874"></a><span class="lineno"> 8874</span>&#160;        }</div><div class="line"><a name="l08875"></a><span class="lineno"> 8875</span>&#160;</div><div class="line"><a name="l08876"></a><span class="lineno"> 8876</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l08878"></a><span class="lineno"> 8878</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> parse_internal(<span class="keywordtype">bool</span> keep)</div><div class="line"><a name="l08879"></a><span class="lineno"> 8879</span>&#160;        {</div><div class="line"><a name="l08880"></a><span class="lineno"> 8880</span>&#160;            <span class="keyword">auto</span> result = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(value_t::discarded);</div><div class="line"><a name="l08881"></a><span class="lineno"> 8881</span>&#160;</div><div class="line"><a name="l08882"></a><span class="lineno"> 8882</span>&#160;            <span class="keywordflow">switch</span> (last_token)</div><div class="line"><a name="l08883"></a><span class="lineno"> 8883</span>&#160;            {</div><div class="line"><a name="l08884"></a><span class="lineno"> 8884</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::begin_object:</div><div class="line"><a name="l08885"></a><span class="lineno"> 8885</span>&#160;                {</div><div class="line"><a name="l08886"></a><span class="lineno"> 8886</span>&#160;                    <span class="keywordflow">if</span> (keep and (not callback or (keep = callback(depth++, parse_event_t::object_start, result))))</div><div class="line"><a name="l08887"></a><span class="lineno"> 8887</span>&#160;                    {</div><div class="line"><a name="l08888"></a><span class="lineno"> 8888</span>&#160;                        <span class="comment">// explicitly set result to object to cope with {}</span></div><div class="line"><a name="l08889"></a><span class="lineno"> 8889</span>&#160;                        result.m_type = value_t::object;</div><div class="line"><a name="l08890"></a><span class="lineno"> 8890</span>&#160;                        result.m_value = value_t::object;</div><div class="line"><a name="l08891"></a><span class="lineno"> 8891</span>&#160;                    }</div><div class="line"><a name="l08892"></a><span class="lineno"> 8892</span>&#160;</div><div class="line"><a name="l08893"></a><span class="lineno"> 8893</span>&#160;                    <span class="comment">// read next token</span></div><div class="line"><a name="l08894"></a><span class="lineno"> 8894</span>&#160;                    get_token();</div><div class="line"><a name="l08895"></a><span class="lineno"> 8895</span>&#160;</div><div class="line"><a name="l08896"></a><span class="lineno"> 8896</span>&#160;                    <span class="comment">// closing } -&gt; we are done</span></div><div class="line"><a name="l08897"></a><span class="lineno"> 8897</span>&#160;                    <span class="keywordflow">if</span> (last_token == lexer::token_type::end_object)</div><div class="line"><a name="l08898"></a><span class="lineno"> 8898</span>&#160;                    {</div><div class="line"><a name="l08899"></a><span class="lineno"> 8899</span>&#160;                        get_token();</div><div class="line"><a name="l08900"></a><span class="lineno"> 8900</span>&#160;                        <span class="keywordflow">if</span> (keep and callback and not callback(--depth, parse_event_t::object_end, result))</div><div class="line"><a name="l08901"></a><span class="lineno"> 8901</span>&#160;                        {</div><div class="line"><a name="l08902"></a><span class="lineno"> 8902</span>&#160;                            result = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(value_t::discarded);</div><div class="line"><a name="l08903"></a><span class="lineno"> 8903</span>&#160;                        }</div><div class="line"><a name="l08904"></a><span class="lineno"> 8904</span>&#160;                        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08905"></a><span class="lineno"> 8905</span>&#160;                    }</div><div class="line"><a name="l08906"></a><span class="lineno"> 8906</span>&#160;</div><div class="line"><a name="l08907"></a><span class="lineno"> 8907</span>&#160;                    <span class="comment">// no comma is expected here</span></div><div class="line"><a name="l08908"></a><span class="lineno"> 8908</span>&#160;                    unexpect(lexer::token_type::value_separator);</div><div class="line"><a name="l08909"></a><span class="lineno"> 8909</span>&#160;</div><div class="line"><a name="l08910"></a><span class="lineno"> 8910</span>&#160;                    <span class="comment">// otherwise: parse key-value pairs</span></div><div class="line"><a name="l08911"></a><span class="lineno"> 8911</span>&#160;                    <span class="keywordflow">do</span></div><div class="line"><a name="l08912"></a><span class="lineno"> 8912</span>&#160;                    {</div><div class="line"><a name="l08913"></a><span class="lineno"> 8913</span>&#160;                        <span class="comment">// ugly, but could be fixed with loop reorganization</span></div><div class="line"><a name="l08914"></a><span class="lineno"> 8914</span>&#160;                        <span class="keywordflow">if</span> (last_token == lexer::token_type::value_separator)</div><div class="line"><a name="l08915"></a><span class="lineno"> 8915</span>&#160;                        {</div><div class="line"><a name="l08916"></a><span class="lineno"> 8916</span>&#160;                            get_token();</div><div class="line"><a name="l08917"></a><span class="lineno"> 8917</span>&#160;                        }</div><div class="line"><a name="l08918"></a><span class="lineno"> 8918</span>&#160;</div><div class="line"><a name="l08919"></a><span class="lineno"> 8919</span>&#160;                        <span class="comment">// store key</span></div><div class="line"><a name="l08920"></a><span class="lineno"> 8920</span>&#160;                        expect(lexer::token_type::value_string);</div><div class="line"><a name="l08921"></a><span class="lineno"> 8921</span>&#160;                        <span class="keyword">const</span> <span class="keyword">auto</span> key = m_lexer.get_string();</div><div class="line"><a name="l08922"></a><span class="lineno"> 8922</span>&#160;</div><div class="line"><a name="l08923"></a><span class="lineno"> 8923</span>&#160;                        <span class="keywordtype">bool</span> keep_tag = <span class="keyword">false</span>;</div><div class="line"><a name="l08924"></a><span class="lineno"> 8924</span>&#160;                        <span class="keywordflow">if</span> (keep)</div><div class="line"><a name="l08925"></a><span class="lineno"> 8925</span>&#160;                        {</div><div class="line"><a name="l08926"></a><span class="lineno"> 8926</span>&#160;                            <span class="keywordflow">if</span> (callback)</div><div class="line"><a name="l08927"></a><span class="lineno"> 8927</span>&#160;                            {</div><div class="line"><a name="l08928"></a><span class="lineno"> 8928</span>&#160;                                <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> k(key);</div><div class="line"><a name="l08929"></a><span class="lineno"> 8929</span>&#160;                                keep_tag = callback(depth, parse_event_t::key, k);</div><div class="line"><a name="l08930"></a><span class="lineno"> 8930</span>&#160;                            }</div><div class="line"><a name="l08931"></a><span class="lineno"> 8931</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l08932"></a><span class="lineno"> 8932</span>&#160;                            {</div><div class="line"><a name="l08933"></a><span class="lineno"> 8933</span>&#160;                                keep_tag = <span class="keyword">true</span>;</div><div class="line"><a name="l08934"></a><span class="lineno"> 8934</span>&#160;                            }</div><div class="line"><a name="l08935"></a><span class="lineno"> 8935</span>&#160;                        }</div><div class="line"><a name="l08936"></a><span class="lineno"> 8936</span>&#160;</div><div class="line"><a name="l08937"></a><span class="lineno"> 8937</span>&#160;                        <span class="comment">// parse separator (:)</span></div><div class="line"><a name="l08938"></a><span class="lineno"> 8938</span>&#160;                        get_token();</div><div class="line"><a name="l08939"></a><span class="lineno"> 8939</span>&#160;                        expect(lexer::token_type::name_separator);</div><div class="line"><a name="l08940"></a><span class="lineno"> 8940</span>&#160;</div><div class="line"><a name="l08941"></a><span class="lineno"> 8941</span>&#160;                        <span class="comment">// parse and add value</span></div><div class="line"><a name="l08942"></a><span class="lineno"> 8942</span>&#160;                        get_token();</div><div class="line"><a name="l08943"></a><span class="lineno"> 8943</span>&#160;                        <span class="keyword">auto</span> value = parse_internal(keep);</div><div class="line"><a name="l08944"></a><span class="lineno"> 8944</span>&#160;                        <span class="keywordflow">if</span> (keep and keep_tag and not value.is_discarded())</div><div class="line"><a name="l08945"></a><span class="lineno"> 8945</span>&#160;                        {</div><div class="line"><a name="l08946"></a><span class="lineno"> 8946</span>&#160;                            result[key] = std::move(value);</div><div class="line"><a name="l08947"></a><span class="lineno"> 8947</span>&#160;                        }</div><div class="line"><a name="l08948"></a><span class="lineno"> 8948</span>&#160;                    }</div><div class="line"><a name="l08949"></a><span class="lineno"> 8949</span>&#160;                    <span class="keywordflow">while</span> (last_token == lexer::token_type::value_separator);</div><div class="line"><a name="l08950"></a><span class="lineno"> 8950</span>&#160;</div><div class="line"><a name="l08951"></a><span class="lineno"> 8951</span>&#160;                    <span class="comment">// closing }</span></div><div class="line"><a name="l08952"></a><span class="lineno"> 8952</span>&#160;                    expect(lexer::token_type::end_object);</div><div class="line"><a name="l08953"></a><span class="lineno"> 8953</span>&#160;                    get_token();</div><div class="line"><a name="l08954"></a><span class="lineno"> 8954</span>&#160;                    <span class="keywordflow">if</span> (keep and callback and not callback(--depth, parse_event_t::object_end, result))</div><div class="line"><a name="l08955"></a><span class="lineno"> 8955</span>&#160;                    {</div><div class="line"><a name="l08956"></a><span class="lineno"> 8956</span>&#160;                        result = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(value_t::discarded);</div><div class="line"><a name="l08957"></a><span class="lineno"> 8957</span>&#160;                    }</div><div class="line"><a name="l08958"></a><span class="lineno"> 8958</span>&#160;</div><div class="line"><a name="l08959"></a><span class="lineno"> 8959</span>&#160;                    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08960"></a><span class="lineno"> 8960</span>&#160;                }</div><div class="line"><a name="l08961"></a><span class="lineno"> 8961</span>&#160;</div><div class="line"><a name="l08962"></a><span class="lineno"> 8962</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::begin_array:</div><div class="line"><a name="l08963"></a><span class="lineno"> 8963</span>&#160;                {</div><div class="line"><a name="l08964"></a><span class="lineno"> 8964</span>&#160;                    <span class="keywordflow">if</span> (keep and (not callback or (keep = callback(depth++, parse_event_t::array_start, result))))</div><div class="line"><a name="l08965"></a><span class="lineno"> 8965</span>&#160;                    {</div><div class="line"><a name="l08966"></a><span class="lineno"> 8966</span>&#160;                        <span class="comment">// explicitly set result to object to cope with []</span></div><div class="line"><a name="l08967"></a><span class="lineno"> 8967</span>&#160;                        result.m_type = value_t::array;</div><div class="line"><a name="l08968"></a><span class="lineno"> 8968</span>&#160;                        result.m_value = value_t::array;</div><div class="line"><a name="l08969"></a><span class="lineno"> 8969</span>&#160;                    }</div><div class="line"><a name="l08970"></a><span class="lineno"> 8970</span>&#160;</div><div class="line"><a name="l08971"></a><span class="lineno"> 8971</span>&#160;                    <span class="comment">// read next token</span></div><div class="line"><a name="l08972"></a><span class="lineno"> 8972</span>&#160;                    get_token();</div><div class="line"><a name="l08973"></a><span class="lineno"> 8973</span>&#160;</div><div class="line"><a name="l08974"></a><span class="lineno"> 8974</span>&#160;                    <span class="comment">// closing ] -&gt; we are done</span></div><div class="line"><a name="l08975"></a><span class="lineno"> 8975</span>&#160;                    <span class="keywordflow">if</span> (last_token == lexer::token_type::end_array)</div><div class="line"><a name="l08976"></a><span class="lineno"> 8976</span>&#160;                    {</div><div class="line"><a name="l08977"></a><span class="lineno"> 8977</span>&#160;                        get_token();</div><div class="line"><a name="l08978"></a><span class="lineno"> 8978</span>&#160;                        <span class="keywordflow">if</span> (callback and not callback(--depth, parse_event_t::array_end, result))</div><div class="line"><a name="l08979"></a><span class="lineno"> 8979</span>&#160;                        {</div><div class="line"><a name="l08980"></a><span class="lineno"> 8980</span>&#160;                            result = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(value_t::discarded);</div><div class="line"><a name="l08981"></a><span class="lineno"> 8981</span>&#160;                        }</div><div class="line"><a name="l08982"></a><span class="lineno"> 8982</span>&#160;                        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l08983"></a><span class="lineno"> 8983</span>&#160;                    }</div><div class="line"><a name="l08984"></a><span class="lineno"> 8984</span>&#160;</div><div class="line"><a name="l08985"></a><span class="lineno"> 8985</span>&#160;                    <span class="comment">// no comma is expected here</span></div><div class="line"><a name="l08986"></a><span class="lineno"> 8986</span>&#160;                    unexpect(lexer::token_type::value_separator);</div><div class="line"><a name="l08987"></a><span class="lineno"> 8987</span>&#160;</div><div class="line"><a name="l08988"></a><span class="lineno"> 8988</span>&#160;                    <span class="comment">// otherwise: parse values</span></div><div class="line"><a name="l08989"></a><span class="lineno"> 8989</span>&#160;                    <span class="keywordflow">do</span></div><div class="line"><a name="l08990"></a><span class="lineno"> 8990</span>&#160;                    {</div><div class="line"><a name="l08991"></a><span class="lineno"> 8991</span>&#160;                        <span class="comment">// ugly, but could be fixed with loop reorganization</span></div><div class="line"><a name="l08992"></a><span class="lineno"> 8992</span>&#160;                        <span class="keywordflow">if</span> (last_token == lexer::token_type::value_separator)</div><div class="line"><a name="l08993"></a><span class="lineno"> 8993</span>&#160;                        {</div><div class="line"><a name="l08994"></a><span class="lineno"> 8994</span>&#160;                            get_token();</div><div class="line"><a name="l08995"></a><span class="lineno"> 8995</span>&#160;                        }</div><div class="line"><a name="l08996"></a><span class="lineno"> 8996</span>&#160;</div><div class="line"><a name="l08997"></a><span class="lineno"> 8997</span>&#160;                        <span class="comment">// parse value</span></div><div class="line"><a name="l08998"></a><span class="lineno"> 8998</span>&#160;                        <span class="keyword">auto</span> value = parse_internal(keep);</div><div class="line"><a name="l08999"></a><span class="lineno"> 8999</span>&#160;                        <span class="keywordflow">if</span> (keep and not value.is_discarded())</div><div class="line"><a name="l09000"></a><span class="lineno"> 9000</span>&#160;                        {</div><div class="line"><a name="l09001"></a><span class="lineno"> 9001</span>&#160;                            result.push_back(std::move(value));</div><div class="line"><a name="l09002"></a><span class="lineno"> 9002</span>&#160;                        }</div><div class="line"><a name="l09003"></a><span class="lineno"> 9003</span>&#160;                    }</div><div class="line"><a name="l09004"></a><span class="lineno"> 9004</span>&#160;                    <span class="keywordflow">while</span> (last_token == lexer::token_type::value_separator);</div><div class="line"><a name="l09005"></a><span class="lineno"> 9005</span>&#160;</div><div class="line"><a name="l09006"></a><span class="lineno"> 9006</span>&#160;                    <span class="comment">// closing ]</span></div><div class="line"><a name="l09007"></a><span class="lineno"> 9007</span>&#160;                    expect(lexer::token_type::end_array);</div><div class="line"><a name="l09008"></a><span class="lineno"> 9008</span>&#160;                    get_token();</div><div class="line"><a name="l09009"></a><span class="lineno"> 9009</span>&#160;                    <span class="keywordflow">if</span> (keep and callback and not callback(--depth, parse_event_t::array_end, result))</div><div class="line"><a name="l09010"></a><span class="lineno"> 9010</span>&#160;                    {</div><div class="line"><a name="l09011"></a><span class="lineno"> 9011</span>&#160;                        result = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(value_t::discarded);</div><div class="line"><a name="l09012"></a><span class="lineno"> 9012</span>&#160;                    }</div><div class="line"><a name="l09013"></a><span class="lineno"> 9013</span>&#160;</div><div class="line"><a name="l09014"></a><span class="lineno"> 9014</span>&#160;                    <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09015"></a><span class="lineno"> 9015</span>&#160;                }</div><div class="line"><a name="l09016"></a><span class="lineno"> 9016</span>&#160;</div><div class="line"><a name="l09017"></a><span class="lineno"> 9017</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::literal_null:</div><div class="line"><a name="l09018"></a><span class="lineno"> 9018</span>&#160;                {</div><div class="line"><a name="l09019"></a><span class="lineno"> 9019</span>&#160;                    get_token();</div><div class="line"><a name="l09020"></a><span class="lineno"> 9020</span>&#160;                    result.m_type = value_t::null;</div><div class="line"><a name="l09021"></a><span class="lineno"> 9021</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09022"></a><span class="lineno"> 9022</span>&#160;                }</div><div class="line"><a name="l09023"></a><span class="lineno"> 9023</span>&#160;</div><div class="line"><a name="l09024"></a><span class="lineno"> 9024</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::value_string:</div><div class="line"><a name="l09025"></a><span class="lineno"> 9025</span>&#160;                {</div><div class="line"><a name="l09026"></a><span class="lineno"> 9026</span>&#160;                    <span class="keyword">const</span> <span class="keyword">auto</span> s = m_lexer.get_string();</div><div class="line"><a name="l09027"></a><span class="lineno"> 9027</span>&#160;                    get_token();</div><div class="line"><a name="l09028"></a><span class="lineno"> 9028</span>&#160;                    result = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(s);</div><div class="line"><a name="l09029"></a><span class="lineno"> 9029</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09030"></a><span class="lineno"> 9030</span>&#160;                }</div><div class="line"><a name="l09031"></a><span class="lineno"> 9031</span>&#160;</div><div class="line"><a name="l09032"></a><span class="lineno"> 9032</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::literal_true:</div><div class="line"><a name="l09033"></a><span class="lineno"> 9033</span>&#160;                {</div><div class="line"><a name="l09034"></a><span class="lineno"> 9034</span>&#160;                    get_token();</div><div class="line"><a name="l09035"></a><span class="lineno"> 9035</span>&#160;                    result.m_type = value_t::boolean;</div><div class="line"><a name="l09036"></a><span class="lineno"> 9036</span>&#160;                    result.m_value = <span class="keyword">true</span>;</div><div class="line"><a name="l09037"></a><span class="lineno"> 9037</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09038"></a><span class="lineno"> 9038</span>&#160;                }</div><div class="line"><a name="l09039"></a><span class="lineno"> 9039</span>&#160;</div><div class="line"><a name="l09040"></a><span class="lineno"> 9040</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::literal_false:</div><div class="line"><a name="l09041"></a><span class="lineno"> 9041</span>&#160;                {</div><div class="line"><a name="l09042"></a><span class="lineno"> 9042</span>&#160;                    get_token();</div><div class="line"><a name="l09043"></a><span class="lineno"> 9043</span>&#160;                    result.m_type = value_t::boolean;</div><div class="line"><a name="l09044"></a><span class="lineno"> 9044</span>&#160;                    result.m_value = <span class="keyword">false</span>;</div><div class="line"><a name="l09045"></a><span class="lineno"> 9045</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09046"></a><span class="lineno"> 9046</span>&#160;                }</div><div class="line"><a name="l09047"></a><span class="lineno"> 9047</span>&#160;</div><div class="line"><a name="l09048"></a><span class="lineno"> 9048</span>&#160;                <span class="keywordflow">case</span> lexer::token_type::value_number:</div><div class="line"><a name="l09049"></a><span class="lineno"> 9049</span>&#160;                {</div><div class="line"><a name="l09050"></a><span class="lineno"> 9050</span>&#160;                    m_lexer.get_number(result);</div><div class="line"><a name="l09051"></a><span class="lineno"> 9051</span>&#160;                    get_token();</div><div class="line"><a name="l09052"></a><span class="lineno"> 9052</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09053"></a><span class="lineno"> 9053</span>&#160;                }</div><div class="line"><a name="l09054"></a><span class="lineno"> 9054</span>&#160;</div><div class="line"><a name="l09055"></a><span class="lineno"> 9055</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l09056"></a><span class="lineno"> 9056</span>&#160;                {</div><div class="line"><a name="l09057"></a><span class="lineno"> 9057</span>&#160;                    <span class="comment">// the last token was unexpected</span></div><div class="line"><a name="l09058"></a><span class="lineno"> 9058</span>&#160;                    unexpect(last_token);</div><div class="line"><a name="l09059"></a><span class="lineno"> 9059</span>&#160;                }</div><div class="line"><a name="l09060"></a><span class="lineno"> 9060</span>&#160;            }</div><div class="line"><a name="l09061"></a><span class="lineno"> 9061</span>&#160;</div><div class="line"><a name="l09062"></a><span class="lineno"> 9062</span>&#160;            <span class="keywordflow">if</span> (keep and callback and not callback(depth, parse_event_t::value, result))</div><div class="line"><a name="l09063"></a><span class="lineno"> 9063</span>&#160;            {</div><div class="line"><a name="l09064"></a><span class="lineno"> 9064</span>&#160;                result = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>(value_t::discarded);</div><div class="line"><a name="l09065"></a><span class="lineno"> 9065</span>&#160;            }</div><div class="line"><a name="l09066"></a><span class="lineno"> 9066</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09067"></a><span class="lineno"> 9067</span>&#160;        }</div><div class="line"><a name="l09068"></a><span class="lineno"> 9068</span>&#160;</div><div class="line"><a name="l09070"></a><span class="lineno"> 9070</span>&#160;        <span class="keyword">typename</span> lexer::token_type get_token() noexcept</div><div class="line"><a name="l09071"></a><span class="lineno"> 9071</span>&#160;        {</div><div class="line"><a name="l09072"></a><span class="lineno"> 9072</span>&#160;            last_token = m_lexer.scan();</div><div class="line"><a name="l09073"></a><span class="lineno"> 9073</span>&#160;            <span class="keywordflow">return</span> last_token;</div><div class="line"><a name="l09074"></a><span class="lineno"> 9074</span>&#160;        }</div><div class="line"><a name="l09075"></a><span class="lineno"> 9075</span>&#160;</div><div class="line"><a name="l09076"></a><span class="lineno"> 9076</span>&#160;        <span class="keywordtype">void</span> expect(<span class="keyword">typename</span> lexer::token_type t)<span class="keyword"> const</span></div><div class="line"><a name="l09077"></a><span class="lineno"> 9077</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09078"></a><span class="lineno"> 9078</span>&#160;            <span class="keywordflow">if</span> (t != last_token)</div><div class="line"><a name="l09079"></a><span class="lineno"> 9079</span>&#160;            {</div><div class="line"><a name="l09080"></a><span class="lineno"> 9080</span>&#160;                std::string error_msg = <span class="stringliteral">&quot;parse error - unexpected &quot;</span>;</div><div class="line"><a name="l09081"></a><span class="lineno"> 9081</span>&#160;                error_msg += (last_token == lexer::token_type::parse_error ? (<span class="stringliteral">&quot;&#39;&quot;</span> +  m_lexer.get_token_string() +</div><div class="line"><a name="l09082"></a><span class="lineno"> 9082</span>&#160;                              <span class="stringliteral">&quot;&#39;&quot;</span>) :</div><div class="line"><a name="l09083"></a><span class="lineno"> 9083</span>&#160;                              lexer::token_type_name(last_token));</div><div class="line"><a name="l09084"></a><span class="lineno"> 9084</span>&#160;                error_msg += <span class="stringliteral">&quot;; expected &quot;</span> + lexer::token_type_name(t);</div><div class="line"><a name="l09085"></a><span class="lineno"> 9085</span>&#160;                <span class="keywordflow">throw</span> std::invalid_argument(error_msg);</div><div class="line"><a name="l09086"></a><span class="lineno"> 9086</span>&#160;            }</div><div class="line"><a name="l09087"></a><span class="lineno"> 9087</span>&#160;        }</div><div class="line"><a name="l09088"></a><span class="lineno"> 9088</span>&#160;</div><div class="line"><a name="l09089"></a><span class="lineno"> 9089</span>&#160;        <span class="keywordtype">void</span> unexpect(<span class="keyword">typename</span> lexer::token_type t)<span class="keyword"> const</span></div><div class="line"><a name="l09090"></a><span class="lineno"> 9090</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09091"></a><span class="lineno"> 9091</span>&#160;            <span class="keywordflow">if</span> (t == last_token)</div><div class="line"><a name="l09092"></a><span class="lineno"> 9092</span>&#160;            {</div><div class="line"><a name="l09093"></a><span class="lineno"> 9093</span>&#160;                std::string error_msg = <span class="stringliteral">&quot;parse error - unexpected &quot;</span>;</div><div class="line"><a name="l09094"></a><span class="lineno"> 9094</span>&#160;                error_msg += (last_token == lexer::token_type::parse_error ? (<span class="stringliteral">&quot;&#39;&quot;</span> +  m_lexer.get_token_string() +</div><div class="line"><a name="l09095"></a><span class="lineno"> 9095</span>&#160;                              <span class="stringliteral">&quot;&#39;&quot;</span>) :</div><div class="line"><a name="l09096"></a><span class="lineno"> 9096</span>&#160;                              lexer::token_type_name(last_token));</div><div class="line"><a name="l09097"></a><span class="lineno"> 9097</span>&#160;                <span class="keywordflow">throw</span> std::invalid_argument(error_msg);</div><div class="line"><a name="l09098"></a><span class="lineno"> 9098</span>&#160;            }</div><div class="line"><a name="l09099"></a><span class="lineno"> 9099</span>&#160;        }</div><div class="line"><a name="l09100"></a><span class="lineno"> 9100</span>&#160;</div><div class="line"><a name="l09101"></a><span class="lineno"> 9101</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l09103"></a><span class="lineno"> 9103</span>&#160;        <span class="keywordtype">int</span> depth = 0;</div><div class="line"><a name="l09105"></a><span class="lineno"> 9105</span>&#160;        <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">parser_callback_t</a> callback = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l09107"></a><span class="lineno"> 9107</span>&#160;        <span class="keyword">typename</span> lexer::token_type last_token = lexer::token_type::uninitialized;</div><div class="line"><a name="l09109"></a><span class="lineno"> 9109</span>&#160;        lexer m_lexer;</div><div class="line"><a name="l09110"></a><span class="lineno"> 9110</span>&#160;    };</div><div class="line"><a name="l09111"></a><span class="lineno"> 9111</span>&#160;</div><div class="line"><a name="l09112"></a><span class="lineno"> 9112</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l09124"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer.html"> 9124</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a></div><div class="line"><a name="l09125"></a><span class="lineno"> 9125</span>&#160;    {</div><div class="line"><a name="l09127"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer_ada3100cdb8700566051828f1355fa745.html#ada3100cdb8700566051828f1355fa745"> 9127</a></span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>;</div><div class="line"><a name="l09128"></a><span class="lineno"> 9128</span>&#160;</div><div class="line"><a name="l09129"></a><span class="lineno"> 9129</span>&#160;      <span class="keyword">public</span>:</div><div class="line"><a name="l09152"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html#ae12db117a2742d826465080979d7c835"> 9152</a></span>&#160;        <span class="keyword">explicit</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html#ae12db117a2742d826465080979d7c835">json_pointer</a>(<span class="keyword">const</span> std::string&amp; s = <span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l09153"></a><span class="lineno"> 9153</span>&#160;            : reference_tokens(split(s))</div><div class="line"><a name="l09154"></a><span class="lineno"> 9154</span>&#160;        {}</div><div class="line"><a name="l09155"></a><span class="lineno"> 9155</span>&#160;</div><div class="line"><a name="l09171"></a><span class="lineno"> 9171</span>&#160;        std::string to_string() <span class="keyword">const</span> noexcept</div><div class="line"><a name="l09172"></a><span class="lineno"> 9172</span>&#160;        {</div><div class="line"><a name="l09173"></a><span class="lineno"> 9173</span>&#160;            <span class="keywordflow">return</span> std::accumulate(reference_tokens.begin(),</div><div class="line"><a name="l09174"></a><span class="lineno"> 9174</span>&#160;                                   reference_tokens.end(), std::string{},</div><div class="line"><a name="l09175"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer_a14fda25789660bdc3f2de652fec35f61.html#a14fda25789660bdc3f2de652fec35f61"> 9175</a></span>&#160;                                   [](<span class="keyword">const</span> std::string &amp; a, <span class="keyword">const</span> std::string &amp; b)</div><div class="line"><a name="l09176"></a><span class="lineno"> 9176</span>&#160;            {</div><div class="line"><a name="l09177"></a><span class="lineno"> 9177</span>&#160;                <span class="keywordflow">return</span> a + <span class="stringliteral">&quot;/&quot;</span> + escape(b);</div><div class="line"><a name="l09178"></a><span class="lineno"> 9178</span>&#160;            });</div><div class="line"><a name="l09179"></a><span class="lineno"> 9179</span>&#160;        }</div><div class="line"><a name="l09180"></a><span class="lineno"> 9180</span>&#160;</div><div class="line"><a name="l09182"></a><span class="lineno"> 9182</span>&#160;        <span class="keyword">operator</span> std::string()<span class="keyword"> const</span></div><div class="line"><a name="l09183"></a><span class="lineno"> 9183</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09184"></a><span class="lineno"> 9184</span>&#160;            <span class="keywordflow">return</span> to_string();</div><div class="line"><a name="l09185"></a><span class="lineno"> 9185</span>&#160;        }</div><div class="line"><a name="l09186"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_1_1json__pointer_a344b49c70c83ff591be767072c87336e.html#a344b49c70c83ff591be767072c87336e"> 9186</a></span>&#160;</div><div class="line"><a name="l09187"></a><span class="lineno"> 9187</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l09189"></a><span class="lineno"> 9189</span>&#160;        std::string pop_back()</div><div class="line"><a name="l09190"></a><span class="lineno"> 9190</span>&#160;        {</div><div class="line"><a name="l09191"></a><span class="lineno"> 9191</span>&#160;            <span class="keywordflow">if</span> (is_root())</div><div class="line"><a name="l09192"></a><span class="lineno"> 9192</span>&#160;            {</div><div class="line"><a name="l09193"></a><span class="lineno"> 9193</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;JSON pointer has no parent&quot;</span>);</div><div class="line"><a name="l09194"></a><span class="lineno"> 9194</span>&#160;            }</div><div class="line"><a name="l09195"></a><span class="lineno"> 9195</span>&#160;</div><div class="line"><a name="l09196"></a><span class="lineno"> 9196</span>&#160;            <span class="keyword">auto</span> last = reference_tokens.back();</div><div class="line"><a name="l09197"></a><span class="lineno"> 9197</span>&#160;            reference_tokens.pop_back();</div><div class="line"><a name="l09198"></a><span class="lineno"> 9198</span>&#160;            <span class="keywordflow">return</span> last;</div><div class="line"><a name="l09199"></a><span class="lineno"> 9199</span>&#160;        }</div><div class="line"><a name="l09200"></a><span class="lineno"> 9200</span>&#160;</div><div class="line"><a name="l09202"></a><span class="lineno"> 9202</span>&#160;        <span class="keywordtype">bool</span> is_root()<span class="keyword"> const</span></div><div class="line"><a name="l09203"></a><span class="lineno"> 9203</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09204"></a><span class="lineno"> 9204</span>&#160;            <span class="keywordflow">return</span> reference_tokens.empty();</div><div class="line"><a name="l09205"></a><span class="lineno"> 9205</span>&#160;        }</div><div class="line"><a name="l09206"></a><span class="lineno"> 9206</span>&#160;</div><div class="line"><a name="l09207"></a><span class="lineno"> 9207</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> top()<span class="keyword"> const</span></div><div class="line"><a name="l09208"></a><span class="lineno"> 9208</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09209"></a><span class="lineno"> 9209</span>&#160;            <span class="keywordflow">if</span> (is_root())</div><div class="line"><a name="l09210"></a><span class="lineno"> 9210</span>&#160;            {</div><div class="line"><a name="l09211"></a><span class="lineno"> 9211</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;JSON pointer has no parent&quot;</span>);</div><div class="line"><a name="l09212"></a><span class="lineno"> 9212</span>&#160;            }</div><div class="line"><a name="l09213"></a><span class="lineno"> 9213</span>&#160;</div><div class="line"><a name="l09214"></a><span class="lineno"> 9214</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l09215"></a><span class="lineno"> 9215</span>&#160;            result.reference_tokens = {reference_tokens[0]};</div><div class="line"><a name="l09216"></a><span class="lineno"> 9216</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09217"></a><span class="lineno"> 9217</span>&#160;        }</div><div class="line"><a name="l09218"></a><span class="lineno"> 9218</span>&#160;</div><div class="line"><a name="l09224"></a><span class="lineno"> 9224</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> get_and_create(<a class="code" href="classnlohmann_1_1basic__json.html">reference</a> j)<span class="keyword"> const</span></div><div class="line"><a name="l09225"></a><span class="lineno"> 9225</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09226"></a><span class="lineno"> 9226</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a> result = &amp;j;</div><div class="line"><a name="l09227"></a><span class="lineno"> 9227</span>&#160;</div><div class="line"><a name="l09228"></a><span class="lineno"> 9228</span>&#160;            <span class="comment">// in case no reference tokens exist, return a reference to the</span></div><div class="line"><a name="l09229"></a><span class="lineno"> 9229</span>&#160;            <span class="comment">// JSON value j which will be overwritten by a primitive value</span></div><div class="line"><a name="l09230"></a><span class="lineno"> 9230</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l09231"></a><span class="lineno"> 9231</span>&#160;            {</div><div class="line"><a name="l09232"></a><span class="lineno"> 9232</span>&#160;                <span class="keywordflow">switch</span> (result-&gt;m_type)</div><div class="line"><a name="l09233"></a><span class="lineno"> 9233</span>&#160;                {</div><div class="line"><a name="l09234"></a><span class="lineno"> 9234</span>&#160;                    <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l09235"></a><span class="lineno"> 9235</span>&#160;                    {</div><div class="line"><a name="l09236"></a><span class="lineno"> 9236</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;0&quot;</span>)</div><div class="line"><a name="l09237"></a><span class="lineno"> 9237</span>&#160;                        {</div><div class="line"><a name="l09238"></a><span class="lineno"> 9238</span>&#160;                            <span class="comment">// start a new array if reference token is 0</span></div><div class="line"><a name="l09239"></a><span class="lineno"> 9239</span>&#160;                            result = &amp;result-&gt;operator[](0);</div><div class="line"><a name="l09240"></a><span class="lineno"> 9240</span>&#160;                        }</div><div class="line"><a name="l09241"></a><span class="lineno"> 9241</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l09242"></a><span class="lineno"> 9242</span>&#160;                        {</div><div class="line"><a name="l09243"></a><span class="lineno"> 9243</span>&#160;                            <span class="comment">// start a new object otherwise</span></div><div class="line"><a name="l09244"></a><span class="lineno"> 9244</span>&#160;                            result = &amp;result-&gt;operator[](reference_token);</div><div class="line"><a name="l09245"></a><span class="lineno"> 9245</span>&#160;                        }</div><div class="line"><a name="l09246"></a><span class="lineno"> 9246</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09247"></a><span class="lineno"> 9247</span>&#160;                    }</div><div class="line"><a name="l09248"></a><span class="lineno"> 9248</span>&#160;</div><div class="line"><a name="l09249"></a><span class="lineno"> 9249</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09250"></a><span class="lineno"> 9250</span>&#160;                    {</div><div class="line"><a name="l09251"></a><span class="lineno"> 9251</span>&#160;                        <span class="comment">// create an entry in the object</span></div><div class="line"><a name="l09252"></a><span class="lineno"> 9252</span>&#160;                        result = &amp;result-&gt;operator[](reference_token);</div><div class="line"><a name="l09253"></a><span class="lineno"> 9253</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09254"></a><span class="lineno"> 9254</span>&#160;                    }</div><div class="line"><a name="l09255"></a><span class="lineno"> 9255</span>&#160;</div><div class="line"><a name="l09256"></a><span class="lineno"> 9256</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09257"></a><span class="lineno"> 9257</span>&#160;                    {</div><div class="line"><a name="l09258"></a><span class="lineno"> 9258</span>&#160;                        <span class="comment">// create an entry in the array</span></div><div class="line"><a name="l09259"></a><span class="lineno"> 9259</span>&#160;                        result = &amp;result-&gt;operator[](<span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a><span class="keyword">&gt;</span>(std::stoi(reference_token)));</div><div class="line"><a name="l09260"></a><span class="lineno"> 9260</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09261"></a><span class="lineno"> 9261</span>&#160;                    }</div><div class="line"><a name="l09262"></a><span class="lineno"> 9262</span>&#160;</div><div class="line"><a name="l09263"></a><span class="lineno"> 9263</span>&#160;                    <span class="comment">/*</span></div><div class="line"><a name="l09264"></a><span class="lineno"> 9264</span>&#160;<span class="comment">                    The following code is only reached if there exists a</span></div><div class="line"><a name="l09265"></a><span class="lineno"> 9265</span>&#160;<span class="comment">                    reference token _and_ the current value is primitive. In</span></div><div class="line"><a name="l09266"></a><span class="lineno"> 9266</span>&#160;<span class="comment">                    this case, we have an error situation, because primitive</span></div><div class="line"><a name="l09267"></a><span class="lineno"> 9267</span>&#160;<span class="comment">                    values may only occur as single value; that is, with an</span></div><div class="line"><a name="l09268"></a><span class="lineno"> 9268</span>&#160;<span class="comment">                    empty list of reference tokens.</span></div><div class="line"><a name="l09269"></a><span class="lineno"> 9269</span>&#160;<span class="comment">                    */</span></div><div class="line"><a name="l09270"></a><span class="lineno"> 9270</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l09271"></a><span class="lineno"> 9271</span>&#160;                    {</div><div class="line"><a name="l09272"></a><span class="lineno"> 9272</span>&#160;                        <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;invalid value to unflatten&quot;</span>);</div><div class="line"><a name="l09273"></a><span class="lineno"> 9273</span>&#160;                    }</div><div class="line"><a name="l09274"></a><span class="lineno"> 9274</span>&#160;                }</div><div class="line"><a name="l09275"></a><span class="lineno"> 9275</span>&#160;            }</div><div class="line"><a name="l09276"></a><span class="lineno"> 9276</span>&#160;</div><div class="line"><a name="l09277"></a><span class="lineno"> 9277</span>&#160;            <span class="keywordflow">return</span> *result;</div><div class="line"><a name="l09278"></a><span class="lineno"> 9278</span>&#160;        }</div><div class="line"><a name="l09279"></a><span class="lineno"> 9279</span>&#160;</div><div class="line"><a name="l09293"></a><span class="lineno"> 9293</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> get_unchecked(<a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a> ptr)<span class="keyword"> const</span></div><div class="line"><a name="l09294"></a><span class="lineno"> 9294</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09295"></a><span class="lineno"> 9295</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l09296"></a><span class="lineno"> 9296</span>&#160;            {</div><div class="line"><a name="l09297"></a><span class="lineno"> 9297</span>&#160;                <span class="keywordflow">switch</span> (ptr-&gt;m_type)</div><div class="line"><a name="l09298"></a><span class="lineno"> 9298</span>&#160;                {</div><div class="line"><a name="l09299"></a><span class="lineno"> 9299</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09300"></a><span class="lineno"> 9300</span>&#160;                    {</div><div class="line"><a name="l09301"></a><span class="lineno"> 9301</span>&#160;                        <span class="comment">// use unchecked object access</span></div><div class="line"><a name="l09302"></a><span class="lineno"> 9302</span>&#160;                        ptr = &amp;ptr-&gt;operator[](reference_token);</div><div class="line"><a name="l09303"></a><span class="lineno"> 9303</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09304"></a><span class="lineno"> 9304</span>&#160;                    }</div><div class="line"><a name="l09305"></a><span class="lineno"> 9305</span>&#160;</div><div class="line"><a name="l09306"></a><span class="lineno"> 9306</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09307"></a><span class="lineno"> 9307</span>&#160;                    {</div><div class="line"><a name="l09308"></a><span class="lineno"> 9308</span>&#160;                        <span class="comment">// error condition (cf. RFC 6901, Sect. 4)</span></div><div class="line"><a name="l09309"></a><span class="lineno"> 9309</span>&#160;                        <span class="keywordflow">if</span> (reference_token.size() &gt; 1 and reference_token[0] == <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l09310"></a><span class="lineno"> 9310</span>&#160;                        {</div><div class="line"><a name="l09311"></a><span class="lineno"> 9311</span>&#160;                            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;array index must not begin with &#39;0&#39;&quot;</span>);</div><div class="line"><a name="l09312"></a><span class="lineno"> 9312</span>&#160;                        }</div><div class="line"><a name="l09313"></a><span class="lineno"> 9313</span>&#160;</div><div class="line"><a name="l09314"></a><span class="lineno"> 9314</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l09315"></a><span class="lineno"> 9315</span>&#160;                        {</div><div class="line"><a name="l09316"></a><span class="lineno"> 9316</span>&#160;                            <span class="comment">// explicityly treat &quot;-&quot; as index beyond the end</span></div><div class="line"><a name="l09317"></a><span class="lineno"> 9317</span>&#160;                            ptr = &amp;ptr-&gt;operator[](ptr-&gt;m_value.array-&gt;size());</div><div class="line"><a name="l09318"></a><span class="lineno"> 9318</span>&#160;                        }</div><div class="line"><a name="l09319"></a><span class="lineno"> 9319</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l09320"></a><span class="lineno"> 9320</span>&#160;                        {</div><div class="line"><a name="l09321"></a><span class="lineno"> 9321</span>&#160;                            <span class="comment">// convert array index to number; unchecked access</span></div><div class="line"><a name="l09322"></a><span class="lineno"> 9322</span>&#160;                            ptr = &amp;ptr-&gt;operator[](<span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a><span class="keyword">&gt;</span>(std::stoi(reference_token)));</div><div class="line"><a name="l09323"></a><span class="lineno"> 9323</span>&#160;                        }</div><div class="line"><a name="l09324"></a><span class="lineno"> 9324</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09325"></a><span class="lineno"> 9325</span>&#160;                    }</div><div class="line"><a name="l09326"></a><span class="lineno"> 9326</span>&#160;</div><div class="line"><a name="l09327"></a><span class="lineno"> 9327</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l09328"></a><span class="lineno"> 9328</span>&#160;                    {</div><div class="line"><a name="l09329"></a><span class="lineno"> 9329</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;unresolved reference token &#39;&quot;</span> + reference_token + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l09330"></a><span class="lineno"> 9330</span>&#160;                    }</div><div class="line"><a name="l09331"></a><span class="lineno"> 9331</span>&#160;                }</div><div class="line"><a name="l09332"></a><span class="lineno"> 9332</span>&#160;            }</div><div class="line"><a name="l09333"></a><span class="lineno"> 9333</span>&#160;</div><div class="line"><a name="l09334"></a><span class="lineno"> 9334</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l09335"></a><span class="lineno"> 9335</span>&#160;        }</div><div class="line"><a name="l09336"></a><span class="lineno"> 9336</span>&#160;</div><div class="line"><a name="l09337"></a><span class="lineno"> 9337</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> get_checked(<a class="code" href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">pointer</a> ptr)<span class="keyword"> const</span></div><div class="line"><a name="l09338"></a><span class="lineno"> 9338</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09339"></a><span class="lineno"> 9339</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l09340"></a><span class="lineno"> 9340</span>&#160;            {</div><div class="line"><a name="l09341"></a><span class="lineno"> 9341</span>&#160;                <span class="keywordflow">switch</span> (ptr-&gt;m_type)</div><div class="line"><a name="l09342"></a><span class="lineno"> 9342</span>&#160;                {</div><div class="line"><a name="l09343"></a><span class="lineno"> 9343</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09344"></a><span class="lineno"> 9344</span>&#160;                    {</div><div class="line"><a name="l09345"></a><span class="lineno"> 9345</span>&#160;                        <span class="comment">// note: at performs range check</span></div><div class="line"><a name="l09346"></a><span class="lineno"> 9346</span>&#160;                        ptr = &amp;ptr-&gt;<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(reference_token);</div><div class="line"><a name="l09347"></a><span class="lineno"> 9347</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09348"></a><span class="lineno"> 9348</span>&#160;                    }</div><div class="line"><a name="l09349"></a><span class="lineno"> 9349</span>&#160;</div><div class="line"><a name="l09350"></a><span class="lineno"> 9350</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09351"></a><span class="lineno"> 9351</span>&#160;                    {</div><div class="line"><a name="l09352"></a><span class="lineno"> 9352</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l09353"></a><span class="lineno"> 9353</span>&#160;                        {</div><div class="line"><a name="l09354"></a><span class="lineno"> 9354</span>&#160;                            <span class="comment">// &quot;-&quot; always fails the range check</span></div><div class="line"><a name="l09355"></a><span class="lineno"> 9355</span>&#160;                            <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &#39;-&#39; (&quot;</span> +</div><div class="line"><a name="l09356"></a><span class="lineno"> 9356</span>&#160;                                                    std::to_string(ptr-&gt;m_value.array-&gt;size()) +</div><div class="line"><a name="l09357"></a><span class="lineno"> 9357</span>&#160;                                                    <span class="stringliteral">&quot;) is out of range&quot;</span>);</div><div class="line"><a name="l09358"></a><span class="lineno"> 9358</span>&#160;                        }</div><div class="line"><a name="l09359"></a><span class="lineno"> 9359</span>&#160;</div><div class="line"><a name="l09360"></a><span class="lineno"> 9360</span>&#160;                        <span class="comment">// error condition (cf. RFC 6901, Sect. 4)</span></div><div class="line"><a name="l09361"></a><span class="lineno"> 9361</span>&#160;                        <span class="keywordflow">if</span> (reference_token.size() &gt; 1 and reference_token[0] == <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l09362"></a><span class="lineno"> 9362</span>&#160;                        {</div><div class="line"><a name="l09363"></a><span class="lineno"> 9363</span>&#160;                            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;array index must not begin with &#39;0&#39;&quot;</span>);</div><div class="line"><a name="l09364"></a><span class="lineno"> 9364</span>&#160;                        }</div><div class="line"><a name="l09365"></a><span class="lineno"> 9365</span>&#160;</div><div class="line"><a name="l09366"></a><span class="lineno"> 9366</span>&#160;                        <span class="comment">// note: at performs range check</span></div><div class="line"><a name="l09367"></a><span class="lineno"> 9367</span>&#160;                        ptr = &amp;ptr-&gt;at(static_cast&lt;size_type&gt;(std::stoi(reference_token)));</div><div class="line"><a name="l09368"></a><span class="lineno"> 9368</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09369"></a><span class="lineno"> 9369</span>&#160;                    }</div><div class="line"><a name="l09370"></a><span class="lineno"> 9370</span>&#160;</div><div class="line"><a name="l09371"></a><span class="lineno"> 9371</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l09372"></a><span class="lineno"> 9372</span>&#160;                    {</div><div class="line"><a name="l09373"></a><span class="lineno"> 9373</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;unresolved reference token &#39;&quot;</span> + reference_token + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l09374"></a><span class="lineno"> 9374</span>&#160;                    }</div><div class="line"><a name="l09375"></a><span class="lineno"> 9375</span>&#160;                }</div><div class="line"><a name="l09376"></a><span class="lineno"> 9376</span>&#160;            }</div><div class="line"><a name="l09377"></a><span class="lineno"> 9377</span>&#160;</div><div class="line"><a name="l09378"></a><span class="lineno"> 9378</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l09379"></a><span class="lineno"> 9379</span>&#160;        }</div><div class="line"><a name="l09380"></a><span class="lineno"> 9380</span>&#160;</div><div class="line"><a name="l09389"></a><span class="lineno"> 9389</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> get_unchecked(<a class="code" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a> ptr)<span class="keyword"> const</span></div><div class="line"><a name="l09390"></a><span class="lineno"> 9390</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09391"></a><span class="lineno"> 9391</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l09392"></a><span class="lineno"> 9392</span>&#160;            {</div><div class="line"><a name="l09393"></a><span class="lineno"> 9393</span>&#160;                <span class="keywordflow">switch</span> (ptr-&gt;m_type)</div><div class="line"><a name="l09394"></a><span class="lineno"> 9394</span>&#160;                {</div><div class="line"><a name="l09395"></a><span class="lineno"> 9395</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09396"></a><span class="lineno"> 9396</span>&#160;                    {</div><div class="line"><a name="l09397"></a><span class="lineno"> 9397</span>&#160;                        <span class="comment">// use unchecked object access</span></div><div class="line"><a name="l09398"></a><span class="lineno"> 9398</span>&#160;                        ptr = &amp;ptr-&gt;operator[](reference_token);</div><div class="line"><a name="l09399"></a><span class="lineno"> 9399</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09400"></a><span class="lineno"> 9400</span>&#160;                    }</div><div class="line"><a name="l09401"></a><span class="lineno"> 9401</span>&#160;</div><div class="line"><a name="l09402"></a><span class="lineno"> 9402</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09403"></a><span class="lineno"> 9403</span>&#160;                    {</div><div class="line"><a name="l09404"></a><span class="lineno"> 9404</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l09405"></a><span class="lineno"> 9405</span>&#160;                        {</div><div class="line"><a name="l09406"></a><span class="lineno"> 9406</span>&#160;                            <span class="comment">// &quot;-&quot; cannot be used for const access</span></div><div class="line"><a name="l09407"></a><span class="lineno"> 9407</span>&#160;                            <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &#39;-&#39; (&quot;</span> +</div><div class="line"><a name="l09408"></a><span class="lineno"> 9408</span>&#160;                                                    std::to_string(ptr-&gt;m_value.array-&gt;size()) +</div><div class="line"><a name="l09409"></a><span class="lineno"> 9409</span>&#160;                                                    <span class="stringliteral">&quot;) is out of range&quot;</span>);</div><div class="line"><a name="l09410"></a><span class="lineno"> 9410</span>&#160;                        }</div><div class="line"><a name="l09411"></a><span class="lineno"> 9411</span>&#160;</div><div class="line"><a name="l09412"></a><span class="lineno"> 9412</span>&#160;                        <span class="comment">// error condition (cf. RFC 6901, Sect. 4)</span></div><div class="line"><a name="l09413"></a><span class="lineno"> 9413</span>&#160;                        <span class="keywordflow">if</span> (reference_token.size() &gt; 1 and reference_token[0] == <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l09414"></a><span class="lineno"> 9414</span>&#160;                        {</div><div class="line"><a name="l09415"></a><span class="lineno"> 9415</span>&#160;                            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;array index must not begin with &#39;0&#39;&quot;</span>);</div><div class="line"><a name="l09416"></a><span class="lineno"> 9416</span>&#160;                        }</div><div class="line"><a name="l09417"></a><span class="lineno"> 9417</span>&#160;</div><div class="line"><a name="l09418"></a><span class="lineno"> 9418</span>&#160;                        <span class="comment">// use unchecked array access</span></div><div class="line"><a name="l09419"></a><span class="lineno"> 9419</span>&#160;                        ptr = &amp;ptr-&gt;operator[](<span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">size_type</a><span class="keyword">&gt;</span>(std::stoi(reference_token)));</div><div class="line"><a name="l09420"></a><span class="lineno"> 9420</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09421"></a><span class="lineno"> 9421</span>&#160;                    }</div><div class="line"><a name="l09422"></a><span class="lineno"> 9422</span>&#160;</div><div class="line"><a name="l09423"></a><span class="lineno"> 9423</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l09424"></a><span class="lineno"> 9424</span>&#160;                    {</div><div class="line"><a name="l09425"></a><span class="lineno"> 9425</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;unresolved reference token &#39;&quot;</span> + reference_token + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l09426"></a><span class="lineno"> 9426</span>&#160;                    }</div><div class="line"><a name="l09427"></a><span class="lineno"> 9427</span>&#160;                }</div><div class="line"><a name="l09428"></a><span class="lineno"> 9428</span>&#160;            }</div><div class="line"><a name="l09429"></a><span class="lineno"> 9429</span>&#160;</div><div class="line"><a name="l09430"></a><span class="lineno"> 9430</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l09431"></a><span class="lineno"> 9431</span>&#160;        }</div><div class="line"><a name="l09432"></a><span class="lineno"> 9432</span>&#160;</div><div class="line"><a name="l09433"></a><span class="lineno"> 9433</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> get_checked(<a class="code" href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">const_pointer</a> ptr)<span class="keyword"> const</span></div><div class="line"><a name="l09434"></a><span class="lineno"> 9434</span>&#160;<span class="keyword">        </span>{</div><div class="line"><a name="l09435"></a><span class="lineno"> 9435</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; reference_token : reference_tokens)</div><div class="line"><a name="l09436"></a><span class="lineno"> 9436</span>&#160;            {</div><div class="line"><a name="l09437"></a><span class="lineno"> 9437</span>&#160;                <span class="keywordflow">switch</span> (ptr-&gt;m_type)</div><div class="line"><a name="l09438"></a><span class="lineno"> 9438</span>&#160;                {</div><div class="line"><a name="l09439"></a><span class="lineno"> 9439</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09440"></a><span class="lineno"> 9440</span>&#160;                    {</div><div class="line"><a name="l09441"></a><span class="lineno"> 9441</span>&#160;                        <span class="comment">// note: at performs range check</span></div><div class="line"><a name="l09442"></a><span class="lineno"> 9442</span>&#160;                        ptr = &amp;ptr-&gt;<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(reference_token);</div><div class="line"><a name="l09443"></a><span class="lineno"> 9443</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09444"></a><span class="lineno"> 9444</span>&#160;                    }</div><div class="line"><a name="l09445"></a><span class="lineno"> 9445</span>&#160;</div><div class="line"><a name="l09446"></a><span class="lineno"> 9446</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09447"></a><span class="lineno"> 9447</span>&#160;                    {</div><div class="line"><a name="l09448"></a><span class="lineno"> 9448</span>&#160;                        <span class="keywordflow">if</span> (reference_token == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l09449"></a><span class="lineno"> 9449</span>&#160;                        {</div><div class="line"><a name="l09450"></a><span class="lineno"> 9450</span>&#160;                            <span class="comment">// &quot;-&quot; always fails the range check</span></div><div class="line"><a name="l09451"></a><span class="lineno"> 9451</span>&#160;                            <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &#39;-&#39; (&quot;</span> +</div><div class="line"><a name="l09452"></a><span class="lineno"> 9452</span>&#160;                                                    std::to_string(ptr-&gt;m_value.array-&gt;size()) +</div><div class="line"><a name="l09453"></a><span class="lineno"> 9453</span>&#160;                                                    <span class="stringliteral">&quot;) is out of range&quot;</span>);</div><div class="line"><a name="l09454"></a><span class="lineno"> 9454</span>&#160;                        }</div><div class="line"><a name="l09455"></a><span class="lineno"> 9455</span>&#160;</div><div class="line"><a name="l09456"></a><span class="lineno"> 9456</span>&#160;                        <span class="comment">// error condition (cf. RFC 6901, Sect. 4)</span></div><div class="line"><a name="l09457"></a><span class="lineno"> 9457</span>&#160;                        <span class="keywordflow">if</span> (reference_token.size() &gt; 1 and reference_token[0] == <span class="charliteral">&#39;0&#39;</span>)</div><div class="line"><a name="l09458"></a><span class="lineno"> 9458</span>&#160;                        {</div><div class="line"><a name="l09459"></a><span class="lineno"> 9459</span>&#160;                            <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;array index must not begin with &#39;0&#39;&quot;</span>);</div><div class="line"><a name="l09460"></a><span class="lineno"> 9460</span>&#160;                        }</div><div class="line"><a name="l09461"></a><span class="lineno"> 9461</span>&#160;</div><div class="line"><a name="l09462"></a><span class="lineno"> 9462</span>&#160;                        <span class="comment">// note: at performs range check</span></div><div class="line"><a name="l09463"></a><span class="lineno"> 9463</span>&#160;                        ptr = &amp;ptr-&gt;at(static_cast&lt;size_type&gt;(std::stoi(reference_token)));</div><div class="line"><a name="l09464"></a><span class="lineno"> 9464</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09465"></a><span class="lineno"> 9465</span>&#160;                    }</div><div class="line"><a name="l09466"></a><span class="lineno"> 9466</span>&#160;</div><div class="line"><a name="l09467"></a><span class="lineno"> 9467</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l09468"></a><span class="lineno"> 9468</span>&#160;                    {</div><div class="line"><a name="l09469"></a><span class="lineno"> 9469</span>&#160;                        <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;unresolved reference token &#39;&quot;</span> + reference_token + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l09470"></a><span class="lineno"> 9470</span>&#160;                    }</div><div class="line"><a name="l09471"></a><span class="lineno"> 9471</span>&#160;                }</div><div class="line"><a name="l09472"></a><span class="lineno"> 9472</span>&#160;            }</div><div class="line"><a name="l09473"></a><span class="lineno"> 9473</span>&#160;</div><div class="line"><a name="l09474"></a><span class="lineno"> 9474</span>&#160;            <span class="keywordflow">return</span> *ptr;</div><div class="line"><a name="l09475"></a><span class="lineno"> 9475</span>&#160;        }</div><div class="line"><a name="l09476"></a><span class="lineno"> 9476</span>&#160;</div><div class="line"><a name="l09478"></a><span class="lineno"> 9478</span>&#160;        <span class="keyword">static</span> std::vector&lt;std::string&gt; split(std::string reference_string)</div><div class="line"><a name="l09479"></a><span class="lineno"> 9479</span>&#160;        {</div><div class="line"><a name="l09480"></a><span class="lineno"> 9480</span>&#160;            std::vector&lt;std::string&gt; result;</div><div class="line"><a name="l09481"></a><span class="lineno"> 9481</span>&#160;</div><div class="line"><a name="l09482"></a><span class="lineno"> 9482</span>&#160;            <span class="comment">// special case: empty reference string -&gt; no reference tokens</span></div><div class="line"><a name="l09483"></a><span class="lineno"> 9483</span>&#160;            <span class="keywordflow">if</span> (reference_string.empty())</div><div class="line"><a name="l09484"></a><span class="lineno"> 9484</span>&#160;            {</div><div class="line"><a name="l09485"></a><span class="lineno"> 9485</span>&#160;                <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09486"></a><span class="lineno"> 9486</span>&#160;            }</div><div class="line"><a name="l09487"></a><span class="lineno"> 9487</span>&#160;</div><div class="line"><a name="l09488"></a><span class="lineno"> 9488</span>&#160;            <span class="comment">// check if nonempty reference string begins with slash</span></div><div class="line"><a name="l09489"></a><span class="lineno"> 9489</span>&#160;            <span class="keywordflow">if</span> (reference_string[0] != <span class="charliteral">&#39;/&#39;</span>)</div><div class="line"><a name="l09490"></a><span class="lineno"> 9490</span>&#160;            {</div><div class="line"><a name="l09491"></a><span class="lineno"> 9491</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;JSON pointer must be empty or begin with &#39;/&#39;&quot;</span>);</div><div class="line"><a name="l09492"></a><span class="lineno"> 9492</span>&#160;            }</div><div class="line"><a name="l09493"></a><span class="lineno"> 9493</span>&#160;</div><div class="line"><a name="l09494"></a><span class="lineno"> 9494</span>&#160;            <span class="comment">// extract the reference tokens:</span></div><div class="line"><a name="l09495"></a><span class="lineno"> 9495</span>&#160;            <span class="comment">// - slash: position of the last read slash (or end of string)</span></div><div class="line"><a name="l09496"></a><span class="lineno"> 9496</span>&#160;            <span class="comment">// - start: position after the previous slash</span></div><div class="line"><a name="l09497"></a><span class="lineno"> 9497</span>&#160;            <span class="keywordflow">for</span> (</div><div class="line"><a name="l09498"></a><span class="lineno"> 9498</span>&#160;                <span class="comment">// search for the first slash after the first character</span></div><div class="line"><a name="l09499"></a><span class="lineno"> 9499</span>&#160;                <span class="keywordtype">size_t</span> slash = reference_string.find_first_of(<span class="stringliteral">&quot;/&quot;</span>, 1),</div><div class="line"><a name="l09500"></a><span class="lineno"> 9500</span>&#160;                <span class="comment">// set the beginning of the first reference token</span></div><div class="line"><a name="l09501"></a><span class="lineno"> 9501</span>&#160;                start = 1;</div><div class="line"><a name="l09502"></a><span class="lineno"> 9502</span>&#160;                <span class="comment">// we can stop if start == string::npos+1 = 0</span></div><div class="line"><a name="l09503"></a><span class="lineno"> 9503</span>&#160;                start != 0;</div><div class="line"><a name="l09504"></a><span class="lineno"> 9504</span>&#160;                <span class="comment">// set the beginning of the next reference token</span></div><div class="line"><a name="l09505"></a><span class="lineno"> 9505</span>&#160;                <span class="comment">// (will eventually be 0 if slash == std::string::npos)</span></div><div class="line"><a name="l09506"></a><span class="lineno"> 9506</span>&#160;                start = slash + 1,</div><div class="line"><a name="l09507"></a><span class="lineno"> 9507</span>&#160;                <span class="comment">// find next slash</span></div><div class="line"><a name="l09508"></a><span class="lineno"> 9508</span>&#160;                slash = reference_string.find_first_of(<span class="stringliteral">&quot;/&quot;</span>, start))</div><div class="line"><a name="l09509"></a><span class="lineno"> 9509</span>&#160;            {</div><div class="line"><a name="l09510"></a><span class="lineno"> 9510</span>&#160;                <span class="comment">// use the text between the beginning of the reference token</span></div><div class="line"><a name="l09511"></a><span class="lineno"> 9511</span>&#160;                <span class="comment">// (start) and the last slash (slash).</span></div><div class="line"><a name="l09512"></a><span class="lineno"> 9512</span>&#160;                <span class="keyword">auto</span> reference_token = reference_string.substr(start, slash - start);</div><div class="line"><a name="l09513"></a><span class="lineno"> 9513</span>&#160;</div><div class="line"><a name="l09514"></a><span class="lineno"> 9514</span>&#160;                <span class="comment">// check reference tokens are properly escaped</span></div><div class="line"><a name="l09515"></a><span class="lineno"> 9515</span>&#160;                <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> pos = reference_token.find_first_of(<span class="stringliteral">&quot;~&quot;</span>);</div><div class="line"><a name="l09516"></a><span class="lineno"> 9516</span>&#160;                        pos != std::string::npos;</div><div class="line"><a name="l09517"></a><span class="lineno"> 9517</span>&#160;                        pos = reference_token.find_first_of(<span class="stringliteral">&quot;~&quot;</span>, pos + 1))</div><div class="line"><a name="l09518"></a><span class="lineno"> 9518</span>&#160;                {</div><div class="line"><a name="l09519"></a><span class="lineno"> 9519</span>&#160;                    assert(reference_token[pos] == <span class="charliteral">&#39;~&#39;</span>);</div><div class="line"><a name="l09520"></a><span class="lineno"> 9520</span>&#160;</div><div class="line"><a name="l09521"></a><span class="lineno"> 9521</span>&#160;                    <span class="comment">// ~ must be followed by 0 or 1</span></div><div class="line"><a name="l09522"></a><span class="lineno"> 9522</span>&#160;                    <span class="keywordflow">if</span> (pos == reference_token.size() - 1 or</div><div class="line"><a name="l09523"></a><span class="lineno"> 9523</span>&#160;                            (reference_token[pos + 1] != <span class="charliteral">&#39;0&#39;</span> and</div><div class="line"><a name="l09524"></a><span class="lineno"> 9524</span>&#160;                             reference_token[pos + 1] != <span class="charliteral">&#39;1&#39;</span>))</div><div class="line"><a name="l09525"></a><span class="lineno"> 9525</span>&#160;                    {</div><div class="line"><a name="l09526"></a><span class="lineno"> 9526</span>&#160;                        <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;escape error: &#39;~&#39; must be followed with &#39;0&#39; or &#39;1&#39;&quot;</span>);</div><div class="line"><a name="l09527"></a><span class="lineno"> 9527</span>&#160;                    }</div><div class="line"><a name="l09528"></a><span class="lineno"> 9528</span>&#160;                }</div><div class="line"><a name="l09529"></a><span class="lineno"> 9529</span>&#160;</div><div class="line"><a name="l09530"></a><span class="lineno"> 9530</span>&#160;                <span class="comment">// finally, store the reference token</span></div><div class="line"><a name="l09531"></a><span class="lineno"> 9531</span>&#160;                unescape(reference_token);</div><div class="line"><a name="l09532"></a><span class="lineno"> 9532</span>&#160;                result.push_back(reference_token);</div><div class="line"><a name="l09533"></a><span class="lineno"> 9533</span>&#160;            }</div><div class="line"><a name="l09534"></a><span class="lineno"> 9534</span>&#160;</div><div class="line"><a name="l09535"></a><span class="lineno"> 9535</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09536"></a><span class="lineno"> 9536</span>&#160;        }</div><div class="line"><a name="l09537"></a><span class="lineno"> 9537</span>&#160;</div><div class="line"><a name="l09538"></a><span class="lineno"> 9538</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l09553"></a><span class="lineno"> 9553</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> replace_substring(std::string&amp; s,</div><div class="line"><a name="l09554"></a><span class="lineno"> 9554</span>&#160;                                      <span class="keyword">const</span> std::string&amp; f,</div><div class="line"><a name="l09555"></a><span class="lineno"> 9555</span>&#160;                                      <span class="keyword">const</span> std::string&amp; t)</div><div class="line"><a name="l09556"></a><span class="lineno"> 9556</span>&#160;        {</div><div class="line"><a name="l09557"></a><span class="lineno"> 9557</span>&#160;            assert(not f.empty());</div><div class="line"><a name="l09558"></a><span class="lineno"> 9558</span>&#160;</div><div class="line"><a name="l09559"></a><span class="lineno"> 9559</span>&#160;            <span class="keywordflow">for</span> (</div><div class="line"><a name="l09560"></a><span class="lineno"> 9560</span>&#160;                <span class="keywordtype">size_t</span> pos = s.find(f);         <span class="comment">// find first occurrence of f</span></div><div class="line"><a name="l09561"></a><span class="lineno"> 9561</span>&#160;                pos != std::string::npos;       <span class="comment">// make sure f was found</span></div><div class="line"><a name="l09562"></a><span class="lineno"> 9562</span>&#160;                s.replace(pos, f.size(), t),    <span class="comment">// replace with t</span></div><div class="line"><a name="l09563"></a><span class="lineno"> 9563</span>&#160;                pos = s.find(f, pos + t.size()) <span class="comment">// find next occurrence of f</span></div><div class="line"><a name="l09564"></a><span class="lineno"> 9564</span>&#160;            );</div><div class="line"><a name="l09565"></a><span class="lineno"> 9565</span>&#160;        }</div><div class="line"><a name="l09566"></a><span class="lineno"> 9566</span>&#160;</div><div class="line"><a name="l09568"></a><span class="lineno"> 9568</span>&#160;        <span class="keyword">static</span> std::string escape(std::string s)</div><div class="line"><a name="l09569"></a><span class="lineno"> 9569</span>&#160;        {</div><div class="line"><a name="l09570"></a><span class="lineno"> 9570</span>&#160;            <span class="comment">// escape &quot;~&quot;&quot; to &quot;~0&quot; and &quot;/&quot; to &quot;~1&quot;</span></div><div class="line"><a name="l09571"></a><span class="lineno"> 9571</span>&#160;            replace_substring(s, <span class="stringliteral">&quot;~&quot;</span>, <span class="stringliteral">&quot;~0&quot;</span>);</div><div class="line"><a name="l09572"></a><span class="lineno"> 9572</span>&#160;            replace_substring(s, <span class="stringliteral">&quot;/&quot;</span>, <span class="stringliteral">&quot;~1&quot;</span>);</div><div class="line"><a name="l09573"></a><span class="lineno"> 9573</span>&#160;            <span class="keywordflow">return</span> s;</div><div class="line"><a name="l09574"></a><span class="lineno"> 9574</span>&#160;        }</div><div class="line"><a name="l09575"></a><span class="lineno"> 9575</span>&#160;</div><div class="line"><a name="l09577"></a><span class="lineno"> 9577</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> unescape(std::string&amp; s)</div><div class="line"><a name="l09578"></a><span class="lineno"> 9578</span>&#160;        {</div><div class="line"><a name="l09579"></a><span class="lineno"> 9579</span>&#160;            <span class="comment">// first transform any occurrence of the sequence &#39;~1&#39; to &#39;/&#39;</span></div><div class="line"><a name="l09580"></a><span class="lineno"> 9580</span>&#160;            replace_substring(s, <span class="stringliteral">&quot;~1&quot;</span>, <span class="stringliteral">&quot;/&quot;</span>);</div><div class="line"><a name="l09581"></a><span class="lineno"> 9581</span>&#160;            <span class="comment">// then transform any occurrence of the sequence &#39;~0&#39; to &#39;~&#39;</span></div><div class="line"><a name="l09582"></a><span class="lineno"> 9582</span>&#160;            replace_substring(s, <span class="stringliteral">&quot;~0&quot;</span>, <span class="stringliteral">&quot;~&quot;</span>);</div><div class="line"><a name="l09583"></a><span class="lineno"> 9583</span>&#160;        }</div><div class="line"><a name="l09584"></a><span class="lineno"> 9584</span>&#160;</div><div class="line"><a name="l09592"></a><span class="lineno"> 9592</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> flatten(<span class="keyword">const</span> std::string&amp; reference_string,</div><div class="line"><a name="l09593"></a><span class="lineno"> 9593</span>&#160;                            <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; value,</div><div class="line"><a name="l09594"></a><span class="lineno"> 9594</span>&#160;                            <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; result)</div><div class="line"><a name="l09595"></a><span class="lineno"> 9595</span>&#160;        {</div><div class="line"><a name="l09596"></a><span class="lineno"> 9596</span>&#160;            <span class="keywordflow">switch</span> (value.m_type)</div><div class="line"><a name="l09597"></a><span class="lineno"> 9597</span>&#160;            {</div><div class="line"><a name="l09598"></a><span class="lineno"> 9598</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09599"></a><span class="lineno"> 9599</span>&#160;                {</div><div class="line"><a name="l09600"></a><span class="lineno"> 9600</span>&#160;                    <span class="keywordflow">if</span> (value.m_value.array-&gt;empty())</div><div class="line"><a name="l09601"></a><span class="lineno"> 9601</span>&#160;                    {</div><div class="line"><a name="l09602"></a><span class="lineno"> 9602</span>&#160;                        <span class="comment">// flatten empty array as null</span></div><div class="line"><a name="l09603"></a><span class="lineno"> 9603</span>&#160;                        result[reference_string] = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l09604"></a><span class="lineno"> 9604</span>&#160;                    }</div><div class="line"><a name="l09605"></a><span class="lineno"> 9605</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l09606"></a><span class="lineno"> 9606</span>&#160;                    {</div><div class="line"><a name="l09607"></a><span class="lineno"> 9607</span>&#160;                        <span class="comment">// iterate array and use index as reference string</span></div><div class="line"><a name="l09608"></a><span class="lineno"> 9608</span>&#160;                        <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; value.m_value.array-&gt;size(); ++i)</div><div class="line"><a name="l09609"></a><span class="lineno"> 9609</span>&#160;                        {</div><div class="line"><a name="l09610"></a><span class="lineno"> 9610</span>&#160;                            flatten(reference_string + <span class="stringliteral">&quot;/&quot;</span> + std::to_string(i),</div><div class="line"><a name="l09611"></a><span class="lineno"> 9611</span>&#160;                                    value.m_value.array-&gt;operator[](i), result);</div><div class="line"><a name="l09612"></a><span class="lineno"> 9612</span>&#160;                        }</div><div class="line"><a name="l09613"></a><span class="lineno"> 9613</span>&#160;                    }</div><div class="line"><a name="l09614"></a><span class="lineno"> 9614</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09615"></a><span class="lineno"> 9615</span>&#160;                }</div><div class="line"><a name="l09616"></a><span class="lineno"> 9616</span>&#160;</div><div class="line"><a name="l09617"></a><span class="lineno"> 9617</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09618"></a><span class="lineno"> 9618</span>&#160;                {</div><div class="line"><a name="l09619"></a><span class="lineno"> 9619</span>&#160;                    <span class="keywordflow">if</span> (value.m_value.object-&gt;empty())</div><div class="line"><a name="l09620"></a><span class="lineno"> 9620</span>&#160;                    {</div><div class="line"><a name="l09621"></a><span class="lineno"> 9621</span>&#160;                        <span class="comment">// flatten empty object as null</span></div><div class="line"><a name="l09622"></a><span class="lineno"> 9622</span>&#160;                        result[reference_string] = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l09623"></a><span class="lineno"> 9623</span>&#160;                    }</div><div class="line"><a name="l09624"></a><span class="lineno"> 9624</span>&#160;                    <span class="keywordflow">else</span></div><div class="line"><a name="l09625"></a><span class="lineno"> 9625</span>&#160;                    {</div><div class="line"><a name="l09626"></a><span class="lineno"> 9626</span>&#160;                        <span class="comment">// iterate object and use keys as reference string</span></div><div class="line"><a name="l09627"></a><span class="lineno"> 9627</span>&#160;                        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; element : *value.m_value.object)</div><div class="line"><a name="l09628"></a><span class="lineno"> 9628</span>&#160;                        {</div><div class="line"><a name="l09629"></a><span class="lineno"> 9629</span>&#160;                            flatten(reference_string + <span class="stringliteral">&quot;/&quot;</span> + escape(element.first),</div><div class="line"><a name="l09630"></a><span class="lineno"> 9630</span>&#160;                                    element.second, result);</div><div class="line"><a name="l09631"></a><span class="lineno"> 9631</span>&#160;                        }</div><div class="line"><a name="l09632"></a><span class="lineno"> 9632</span>&#160;                    }</div><div class="line"><a name="l09633"></a><span class="lineno"> 9633</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09634"></a><span class="lineno"> 9634</span>&#160;                }</div><div class="line"><a name="l09635"></a><span class="lineno"> 9635</span>&#160;</div><div class="line"><a name="l09636"></a><span class="lineno"> 9636</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l09637"></a><span class="lineno"> 9637</span>&#160;                {</div><div class="line"><a name="l09638"></a><span class="lineno"> 9638</span>&#160;                    <span class="comment">// add primitive value with its reference string</span></div><div class="line"><a name="l09639"></a><span class="lineno"> 9639</span>&#160;                    result[reference_string] = value;</div><div class="line"><a name="l09640"></a><span class="lineno"> 9640</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l09641"></a><span class="lineno"> 9641</span>&#160;                }</div><div class="line"><a name="l09642"></a><span class="lineno"> 9642</span>&#160;            }</div><div class="line"><a name="l09643"></a><span class="lineno"> 9643</span>&#160;        }</div><div class="line"><a name="l09644"></a><span class="lineno"> 9644</span>&#160;</div><div class="line"><a name="l09650"></a><span class="lineno"> 9650</span>&#160;        <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> unflatten(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; value)</div><div class="line"><a name="l09651"></a><span class="lineno"> 9651</span>&#160;        {</div><div class="line"><a name="l09652"></a><span class="lineno"> 9652</span>&#160;            <span class="keywordflow">if</span> (not value.<a class="code" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a>())</div><div class="line"><a name="l09653"></a><span class="lineno"> 9653</span>&#160;            {</div><div class="line"><a name="l09654"></a><span class="lineno"> 9654</span>&#160;                <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;only objects can be unflattened&quot;</span>);</div><div class="line"><a name="l09655"></a><span class="lineno"> 9655</span>&#160;            }</div><div class="line"><a name="l09656"></a><span class="lineno"> 9656</span>&#160;</div><div class="line"><a name="l09657"></a><span class="lineno"> 9657</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> result;</div><div class="line"><a name="l09658"></a><span class="lineno"> 9658</span>&#160;</div><div class="line"><a name="l09659"></a><span class="lineno"> 9659</span>&#160;            <span class="comment">// iterate the JSON object values</span></div><div class="line"><a name="l09660"></a><span class="lineno"> 9660</span>&#160;            <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; element : *value.m_value.object)</div><div class="line"><a name="l09661"></a><span class="lineno"> 9661</span>&#160;            {</div><div class="line"><a name="l09662"></a><span class="lineno"> 9662</span>&#160;                <span class="keywordflow">if</span> (not element.second.is_primitive())</div><div class="line"><a name="l09663"></a><span class="lineno"> 9663</span>&#160;                {</div><div class="line"><a name="l09664"></a><span class="lineno"> 9664</span>&#160;                    <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;values in object must be primitive&quot;</span>);</div><div class="line"><a name="l09665"></a><span class="lineno"> 9665</span>&#160;                }</div><div class="line"><a name="l09666"></a><span class="lineno"> 9666</span>&#160;</div><div class="line"><a name="l09667"></a><span class="lineno"> 9667</span>&#160;                <span class="comment">// assign value to reference pointed to by JSON pointer; Note</span></div><div class="line"><a name="l09668"></a><span class="lineno"> 9668</span>&#160;                <span class="comment">// that if the JSON pointer is &quot;&quot; (i.e., points to the whole</span></div><div class="line"><a name="l09669"></a><span class="lineno"> 9669</span>&#160;                <span class="comment">// value), function get_and_create returns a reference to</span></div><div class="line"><a name="l09670"></a><span class="lineno"> 9670</span>&#160;                <span class="comment">// result itself. An assignment will then create a primitive</span></div><div class="line"><a name="l09671"></a><span class="lineno"> 9671</span>&#160;                <span class="comment">// value.</span></div><div class="line"><a name="l09672"></a><span class="lineno"> 9672</span>&#160;                <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>(element.first).get_and_create(result) = element.second;</div><div class="line"><a name="l09673"></a><span class="lineno"> 9673</span>&#160;            }</div><div class="line"><a name="l09674"></a><span class="lineno"> 9674</span>&#160;</div><div class="line"><a name="l09675"></a><span class="lineno"> 9675</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09676"></a><span class="lineno"> 9676</span>&#160;        }</div><div class="line"><a name="l09677"></a><span class="lineno"> 9677</span>&#160;</div><div class="line"><a name="l09678"></a><span class="lineno"> 9678</span>&#160;      <span class="keyword">private</span>:</div><div class="line"><a name="l09680"></a><span class="lineno"> 9680</span>&#160;        std::vector&lt;std::string&gt; reference_tokens {};</div><div class="line"><a name="l09681"></a><span class="lineno"> 9681</span>&#160;    };</div><div class="line"><a name="l09682"></a><span class="lineno"> 9682</span>&#160;</div><div class="line"><a name="l09684"></a><span class="lineno"> 9684</span>&#160;    <span class="comment">// JSON Pointer support //</span></div><div class="line"><a name="l09686"></a><span class="lineno"> 9686</span>&#160;<span class="comment"></span></div><div class="line"><a name="l09689"></a><span class="lineno"> 9689</span>&#160;</div><div class="line"><a name="l09723"></a><span class="lineno"> 9723</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> operator[](<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr)</div><div class="line"><a name="l09724"></a><span class="lineno"> 9724</span>&#160;    {</div><div class="line"><a name="l09725"></a><span class="lineno"> 9725</span>&#160;        <span class="keywordflow">return</span> ptr.get_unchecked(<span class="keyword">this</span>);</div><div class="line"><a name="l09726"></a><span class="lineno"> 9726</span>&#160;    }</div><div class="line"><a name="l09727"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a7605b20debcc12fc44bd9f2075122a87.html#a7605b20debcc12fc44bd9f2075122a87"> 9727</a></span>&#160;</div><div class="line"><a name="l09750"></a><span class="lineno"> 9750</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> operator[](<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr)<span class="keyword"> const</span></div><div class="line"><a name="l09751"></a><span class="lineno"> 9751</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09752"></a><span class="lineno"> 9752</span>&#160;        <span class="keywordflow">return</span> ptr.get_unchecked(<span class="keyword">this</span>);</div><div class="line"><a name="l09753"></a><span class="lineno"> 9753</span>&#160;    }</div><div class="line"><a name="l09754"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a76347b37f07c75049f5164053a6cf81a.html#a76347b37f07c75049f5164053a6cf81a"> 9754</a></span>&#160;</div><div class="line"><a name="l09775"></a><span class="lineno"> 9775</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">reference</a> at(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr)</div><div class="line"><a name="l09776"></a><span class="lineno"> 9776</span>&#160;    {</div><div class="line"><a name="l09777"></a><span class="lineno"> 9777</span>&#160;        <span class="keywordflow">return</span> ptr.get_checked(<span class="keyword">this</span>);</div><div class="line"><a name="l09778"></a><span class="lineno"> 9778</span>&#160;    }</div><div class="line"><a name="l09779"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a649aef71e5d952499da7ad3b8e7c9236.html#a649aef71e5d952499da7ad3b8e7c9236"> 9779</a></span>&#160;</div><div class="line"><a name="l09800"></a><span class="lineno"> 9800</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">const_reference</a> at(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a>&amp; ptr)<span class="keyword"> const</span></div><div class="line"><a name="l09801"></a><span class="lineno"> 9801</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09802"></a><span class="lineno"> 9802</span>&#160;        <span class="keywordflow">return</span> ptr.get_checked(<span class="keyword">this</span>);</div><div class="line"><a name="l09803"></a><span class="lineno"> 9803</span>&#160;    }</div><div class="line"><a name="l09804"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0d46dd5ef4992fb80f9f0d9f56f16eae.html#a0d46dd5ef4992fb80f9f0d9f56f16eae"> 9804</a></span>&#160;</div><div class="line"><a name="l09827"></a><span class="lineno"> 9827</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> flatten()<span class="keyword"> const</span></div><div class="line"><a name="l09828"></a><span class="lineno"> 9828</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09829"></a><span class="lineno"> 9829</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> result(value_t::object);</div><div class="line"><a name="l09830"></a><span class="lineno"> 9830</span>&#160;        json_pointer::flatten(<span class="stringliteral">&quot;&quot;</span>, *<span class="keyword">this</span>, result);</div><div class="line"><a name="l09831"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a5327abb014dec211593b00959830650e.html#a5327abb014dec211593b00959830650e"> 9831</a></span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l09832"></a><span class="lineno"> 9832</span>&#160;    }</div><div class="line"><a name="l09833"></a><span class="lineno"> 9833</span>&#160;</div><div class="line"><a name="l09861"></a><span class="lineno"> 9861</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> unflatten()<span class="keyword"> const</span></div><div class="line"><a name="l09862"></a><span class="lineno"> 9862</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09863"></a><span class="lineno"> 9863</span>&#160;        <span class="keywordflow">return</span> json_pointer::unflatten(*<span class="keyword">this</span>);</div><div class="line"><a name="l09864"></a><span class="lineno"> 9864</span>&#160;    }</div><div class="line"><a name="l09865"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a0389c5dd86adc512e5826d7ff610f776.html#a0389c5dd86adc512e5826d7ff610f776"> 9865</a></span>&#160;</div><div class="line"><a name="l09867"></a><span class="lineno"> 9867</span>&#160;</div><div class="line"><a name="l09869"></a><span class="lineno"> 9869</span>&#160;    <span class="comment">// JSON Patch functions //</span></div><div class="line"><a name="l09871"></a><span class="lineno"> 9871</span>&#160;<span class="comment"></span></div><div class="line"><a name="l09874"></a><span class="lineno"> 9874</span>&#160;</div><div class="line"><a name="l09911"></a><span class="lineno"> 9911</span>&#160;    <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> patch(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; json_patch)<span class="keyword"> const</span></div><div class="line"><a name="l09912"></a><span class="lineno"> 9912</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l09913"></a><span class="lineno"> 9913</span>&#160;        <span class="comment">// make a working copy to apply the patch to</span></div><div class="line"><a name="l09914"></a><span class="lineno"> 9914</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> result = *<span class="keyword">this</span>;</div><div class="line"><a name="l09915"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d"> 9915</a></span>&#160;</div><div class="line"><a name="l09916"></a><span class="lineno"> 9916</span>&#160;        <span class="comment">// the valid JSON Patch operations</span></div><div class="line"><a name="l09917"></a><span class="lineno"> 9917</span>&#160;        <span class="keyword">enum class</span> patch_operations {add, <span class="keyword">remove</span>, replace, move, copy, test, invalid};</div><div class="line"><a name="l09918"></a><span class="lineno"> 9918</span>&#160;</div><div class="line"><a name="l09919"></a><span class="lineno"> 9919</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> get_op = [](<span class="keyword">const</span> std::string op)</div><div class="line"><a name="l09920"></a><span class="lineno"> 9920</span>&#160;        {</div><div class="line"><a name="l09921"></a><span class="lineno"> 9921</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;add&quot;</span>)</div><div class="line"><a name="l09922"></a><span class="lineno"> 9922</span>&#160;            {</div><div class="line"><a name="l09923"></a><span class="lineno"> 9923</span>&#160;                <span class="keywordflow">return</span> patch_operations::add;</div><div class="line"><a name="l09924"></a><span class="lineno"> 9924</span>&#160;            }</div><div class="line"><a name="l09925"></a><span class="lineno"> 9925</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;remove&quot;</span>)</div><div class="line"><a name="l09926"></a><span class="lineno"> 9926</span>&#160;            {</div><div class="line"><a name="l09927"></a><span class="lineno"> 9927</span>&#160;                <span class="keywordflow">return</span> patch_operations::remove;</div><div class="line"><a name="l09928"></a><span class="lineno"> 9928</span>&#160;            }</div><div class="line"><a name="l09929"></a><span class="lineno"> 9929</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;replace&quot;</span>)</div><div class="line"><a name="l09930"></a><span class="lineno"> 9930</span>&#160;            {</div><div class="line"><a name="l09931"></a><span class="lineno"> 9931</span>&#160;                <span class="keywordflow">return</span> patch_operations::replace;</div><div class="line"><a name="l09932"></a><span class="lineno"> 9932</span>&#160;            }</div><div class="line"><a name="l09933"></a><span class="lineno"> 9933</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;move&quot;</span>)</div><div class="line"><a name="l09934"></a><span class="lineno"> 9934</span>&#160;            {</div><div class="line"><a name="l09935"></a><span class="lineno"> 9935</span>&#160;                <span class="keywordflow">return</span> patch_operations::move;</div><div class="line"><a name="l09936"></a><span class="lineno"> 9936</span>&#160;            }</div><div class="line"><a name="l09937"></a><span class="lineno"> 9937</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;copy&quot;</span>)</div><div class="line"><a name="l09938"></a><span class="lineno"> 9938</span>&#160;            {</div><div class="line"><a name="l09939"></a><span class="lineno"> 9939</span>&#160;                <span class="keywordflow">return</span> patch_operations::copy;</div><div class="line"><a name="l09940"></a><span class="lineno"> 9940</span>&#160;            }</div><div class="line"><a name="l09941"></a><span class="lineno"> 9941</span>&#160;            <span class="keywordflow">if</span> (op == <span class="stringliteral">&quot;test&quot;</span>)</div><div class="line"><a name="l09942"></a><span class="lineno"> 9942</span>&#160;            {</div><div class="line"><a name="l09943"></a><span class="lineno"> 9943</span>&#160;                <span class="keywordflow">return</span> patch_operations::test;</div><div class="line"><a name="l09944"></a><span class="lineno"> 9944</span>&#160;            }</div><div class="line"><a name="l09945"></a><span class="lineno"> 9945</span>&#160;</div><div class="line"><a name="l09946"></a><span class="lineno"> 9946</span>&#160;            <span class="keywordflow">return</span> patch_operations::invalid;</div><div class="line"><a name="l09947"></a><span class="lineno"> 9947</span>&#160;        };</div><div class="line"><a name="l09948"></a><span class="lineno"> 9948</span>&#160;</div><div class="line"><a name="l09949"></a><span class="lineno"> 9949</span>&#160;        <span class="comment">// wrapper for &quot;add&quot; operation; add value at ptr</span></div><div class="line"><a name="l09950"></a><span class="lineno"> 9950</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> operation_add = [&amp;result](<a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> &amp; ptr, <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> val)</div><div class="line"><a name="l09951"></a><span class="lineno"> 9951</span>&#160;        {</div><div class="line"><a name="l09952"></a><span class="lineno"> 9952</span>&#160;            <span class="comment">// adding to the root of the target document means replacing it</span></div><div class="line"><a name="l09953"></a><span class="lineno"> 9953</span>&#160;            <span class="keywordflow">if</span> (ptr.is_root())</div><div class="line"><a name="l09954"></a><span class="lineno"> 9954</span>&#160;            {</div><div class="line"><a name="l09955"></a><span class="lineno"> 9955</span>&#160;                result = val;</div><div class="line"><a name="l09956"></a><span class="lineno"> 9956</span>&#160;            }</div><div class="line"><a name="l09957"></a><span class="lineno"> 9957</span>&#160;            <span class="keywordflow">else</span></div><div class="line"><a name="l09958"></a><span class="lineno"> 9958</span>&#160;            {</div><div class="line"><a name="l09959"></a><span class="lineno"> 9959</span>&#160;                <span class="comment">// make sure the top element of the pointer exists</span></div><div class="line"><a name="l09960"></a><span class="lineno"> 9960</span>&#160;                <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> top_pointer = ptr.top();</div><div class="line"><a name="l09961"></a><span class="lineno"> 9961</span>&#160;                <span class="keywordflow">if</span> (top_pointer != ptr)</div><div class="line"><a name="l09962"></a><span class="lineno"> 9962</span>&#160;                {</div><div class="line"><a name="l09963"></a><span class="lineno"> 9963</span>&#160;                    <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; x = result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(top_pointer);</div><div class="line"><a name="l09964"></a><span class="lineno"> 9964</span>&#160;                }</div><div class="line"><a name="l09965"></a><span class="lineno"> 9965</span>&#160;</div><div class="line"><a name="l09966"></a><span class="lineno"> 9966</span>&#160;                <span class="comment">// get reference to parent of JSON pointer ptr</span></div><div class="line"><a name="l09967"></a><span class="lineno"> 9967</span>&#160;                <span class="keyword">const</span> <span class="keyword">auto</span> last_path = ptr.pop_back();</div><div class="line"><a name="l09968"></a><span class="lineno"> 9968</span>&#160;                <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; parent = result[ptr];</div><div class="line"><a name="l09969"></a><span class="lineno"> 9969</span>&#160;</div><div class="line"><a name="l09970"></a><span class="lineno"> 9970</span>&#160;                <span class="keywordflow">switch</span> (parent.m_type)</div><div class="line"><a name="l09971"></a><span class="lineno"> 9971</span>&#160;                {</div><div class="line"><a name="l09972"></a><span class="lineno"> 9972</span>&#160;                    <span class="keywordflow">case</span> value_t::null:</div><div class="line"><a name="l09973"></a><span class="lineno"> 9973</span>&#160;                    <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l09974"></a><span class="lineno"> 9974</span>&#160;                    {</div><div class="line"><a name="l09975"></a><span class="lineno"> 9975</span>&#160;                        <span class="comment">// use operator[] to add value</span></div><div class="line"><a name="l09976"></a><span class="lineno"> 9976</span>&#160;                        parent[last_path] = val;</div><div class="line"><a name="l09977"></a><span class="lineno"> 9977</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l09978"></a><span class="lineno"> 9978</span>&#160;                    }</div><div class="line"><a name="l09979"></a><span class="lineno"> 9979</span>&#160;</div><div class="line"><a name="l09980"></a><span class="lineno"> 9980</span>&#160;                    <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l09981"></a><span class="lineno"> 9981</span>&#160;                    {</div><div class="line"><a name="l09982"></a><span class="lineno"> 9982</span>&#160;                        <span class="keywordflow">if</span> (last_path == <span class="stringliteral">&quot;-&quot;</span>)</div><div class="line"><a name="l09983"></a><span class="lineno"> 9983</span>&#160;                        {</div><div class="line"><a name="l09984"></a><span class="lineno"> 9984</span>&#160;                            <span class="comment">// special case: append to back</span></div><div class="line"><a name="l09985"></a><span class="lineno"> 9985</span>&#160;                            parent.<a class="code" href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">push_back</a>(val);</div><div class="line"><a name="l09986"></a><span class="lineno"> 9986</span>&#160;                        }</div><div class="line"><a name="l09987"></a><span class="lineno"> 9987</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l09988"></a><span class="lineno"> 9988</span>&#160;                        {</div><div class="line"><a name="l09989"></a><span class="lineno"> 9989</span>&#160;                            <span class="keyword">const</span> <span class="keyword">auto</span> idx = std::stoi(last_path);</div><div class="line"><a name="l09990"></a><span class="lineno"> 9990</span>&#160;                            <span class="keywordflow">if</span> (static_cast&lt;size_type&gt;(idx) &gt; parent.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>())</div><div class="line"><a name="l09991"></a><span class="lineno"> 9991</span>&#160;                            {</div><div class="line"><a name="l09992"></a><span class="lineno"> 9992</span>&#160;                                <span class="comment">// avoid undefined behavior</span></div><div class="line"><a name="l09993"></a><span class="lineno"> 9993</span>&#160;                                <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;array index &quot;</span> + std::to_string(idx) + <span class="stringliteral">&quot; is out of range&quot;</span>);</div><div class="line"><a name="l09994"></a><span class="lineno"> 9994</span>&#160;                            }</div><div class="line"><a name="l09995"></a><span class="lineno"> 9995</span>&#160;                            <span class="keywordflow">else</span></div><div class="line"><a name="l09996"></a><span class="lineno"> 9996</span>&#160;                            {</div><div class="line"><a name="l09997"></a><span class="lineno"> 9997</span>&#160;                                <span class="comment">// default case: insert add offset</span></div><div class="line"><a name="l09998"></a><span class="lineno"> 9998</span>&#160;                                parent.<a class="code" href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">insert</a>(parent.<a class="code" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a>() + <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a><span class="keyword">&gt;</span>(idx), val);</div><div class="line"><a name="l09999"></a><span class="lineno"> 9999</span>&#160;                            }</div><div class="line"><a name="l10000"></a><span class="lineno">10000</span>&#160;                        }</div><div class="line"><a name="l10001"></a><span class="lineno">10001</span>&#160;                        <span class="keywordflow">break</span>;</div><div class="line"><a name="l10002"></a><span class="lineno">10002</span>&#160;                    }</div><div class="line"><a name="l10003"></a><span class="lineno">10003</span>&#160;</div><div class="line"><a name="l10004"></a><span class="lineno">10004</span>&#160;                    <span class="keywordflow">default</span>:</div><div class="line"><a name="l10005"></a><span class="lineno">10005</span>&#160;                    {</div><div class="line"><a name="l10006"></a><span class="lineno">10006</span>&#160;                        <span class="comment">// if there exists a parent it cannot be primitive</span></div><div class="line"><a name="l10007"></a><span class="lineno">10007</span>&#160;                        assert(<span class="keyword">false</span>);  <span class="comment">// LCOV_EXCL_LINE</span></div><div class="line"><a name="l10008"></a><span class="lineno">10008</span>&#160;                    }</div><div class="line"><a name="l10009"></a><span class="lineno">10009</span>&#160;                }</div><div class="line"><a name="l10010"></a><span class="lineno">10010</span>&#160;            }</div><div class="line"><a name="l10011"></a><span class="lineno">10011</span>&#160;        };</div><div class="line"><a name="l10012"></a><span class="lineno">10012</span>&#160;</div><div class="line"><a name="l10013"></a><span class="lineno">10013</span>&#160;        <span class="comment">// wrapper for &quot;remove&quot; operation; remove value at ptr</span></div><div class="line"><a name="l10014"></a><span class="lineno">10014</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span> operation_remove = [&amp;result](<a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> &amp; ptr)</div><div class="line"><a name="l10015"></a><span class="lineno">10015</span>&#160;        {</div><div class="line"><a name="l10016"></a><span class="lineno">10016</span>&#160;            <span class="comment">// get reference to parent of JSON pointer ptr</span></div><div class="line"><a name="l10017"></a><span class="lineno">10017</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> last_path = ptr.pop_back();</div><div class="line"><a name="l10018"></a><span class="lineno">10018</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; parent = result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(ptr);</div><div class="line"><a name="l10019"></a><span class="lineno">10019</span>&#160;</div><div class="line"><a name="l10020"></a><span class="lineno">10020</span>&#160;            <span class="comment">// remove child</span></div><div class="line"><a name="l10021"></a><span class="lineno">10021</span>&#160;            <span class="keywordflow">if</span> (parent.<a class="code" href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">is_object</a>())</div><div class="line"><a name="l10022"></a><span class="lineno">10022</span>&#160;            {</div><div class="line"><a name="l10023"></a><span class="lineno">10023</span>&#160;                <span class="comment">// perform range check</span></div><div class="line"><a name="l10024"></a><span class="lineno">10024</span>&#160;                <span class="keyword">auto</span> it = parent.<a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(last_path);</div><div class="line"><a name="l10025"></a><span class="lineno">10025</span>&#160;                <span class="keywordflow">if</span> (it != parent.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>())</div><div class="line"><a name="l10026"></a><span class="lineno">10026</span>&#160;                {</div><div class="line"><a name="l10027"></a><span class="lineno">10027</span>&#160;                    parent.<a class="code" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a>(it);</div><div class="line"><a name="l10028"></a><span class="lineno">10028</span>&#160;                }</div><div class="line"><a name="l10029"></a><span class="lineno">10029</span>&#160;                <span class="keywordflow">else</span></div><div class="line"><a name="l10030"></a><span class="lineno">10030</span>&#160;                {</div><div class="line"><a name="l10031"></a><span class="lineno">10031</span>&#160;                    <span class="keywordflow">throw</span> std::out_of_range(<span class="stringliteral">&quot;key &#39;&quot;</span> + last_path + <span class="stringliteral">&quot;&#39; not found&quot;</span>);</div><div class="line"><a name="l10032"></a><span class="lineno">10032</span>&#160;                }</div><div class="line"><a name="l10033"></a><span class="lineno">10033</span>&#160;            }</div><div class="line"><a name="l10034"></a><span class="lineno">10034</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (parent.<a class="code" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a>())</div><div class="line"><a name="l10035"></a><span class="lineno">10035</span>&#160;            {</div><div class="line"><a name="l10036"></a><span class="lineno">10036</span>&#160;                <span class="comment">// note erase performs range check</span></div><div class="line"><a name="l10037"></a><span class="lineno">10037</span>&#160;                parent.<a class="code" href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">erase</a>(static_cast&lt;size_type&gt;(std::stoi(last_path)));</div><div class="line"><a name="l10038"></a><span class="lineno">10038</span>&#160;            }</div><div class="line"><a name="l10039"></a><span class="lineno">10039</span>&#160;        };</div><div class="line"><a name="l10040"></a><span class="lineno">10040</span>&#160;</div><div class="line"><a name="l10041"></a><span class="lineno">10041</span>&#160;        <span class="comment">// type check</span></div><div class="line"><a name="l10042"></a><span class="lineno">10042</span>&#160;        <span class="keywordflow">if</span> (not json_patch.<a class="code" href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">is_array</a>())</div><div class="line"><a name="l10043"></a><span class="lineno">10043</span>&#160;        {</div><div class="line"><a name="l10044"></a><span class="lineno">10044</span>&#160;            <span class="comment">// a JSON patch must be an array of objects</span></div><div class="line"><a name="l10045"></a><span class="lineno">10045</span>&#160;            <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;JSON patch must be an array of objects&quot;</span>);</div><div class="line"><a name="l10046"></a><span class="lineno">10046</span>&#160;        }</div><div class="line"><a name="l10047"></a><span class="lineno">10047</span>&#160;</div><div class="line"><a name="l10048"></a><span class="lineno">10048</span>&#160;        <span class="comment">// iterate and apply th eoperations</span></div><div class="line"><a name="l10049"></a><span class="lineno">10049</span>&#160;        <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; val : json_patch)</div><div class="line"><a name="l10050"></a><span class="lineno">10050</span>&#160;        {</div><div class="line"><a name="l10051"></a><span class="lineno">10051</span>&#160;            <span class="comment">// wrapper to get a value for an operation</span></div><div class="line"><a name="l10052"></a><span class="lineno">10052</span>&#160;            <span class="keyword">const</span> <span class="keyword">auto</span> get_value = [&amp;val](<span class="keyword">const</span> std::string &amp; op,</div><div class="line"><a name="l10053"></a><span class="lineno">10053</span>&#160;                                          <span class="keyword">const</span> std::string &amp; member,</div><div class="line"><a name="l10054"></a><span class="lineno">10054</span>&#160;                                          <span class="keywordtype">bool</span> string_type) -&gt; <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp;</div><div class="line"><a name="l10055"></a><span class="lineno">10055</span>&#160;            {</div><div class="line"><a name="l10056"></a><span class="lineno">10056</span>&#160;                <span class="comment">// find value</span></div><div class="line"><a name="l10057"></a><span class="lineno">10057</span>&#160;                <span class="keyword">auto</span> it = val.m_value.object-&gt;find(member);</div><div class="line"><a name="l10058"></a><span class="lineno">10058</span>&#160;</div><div class="line"><a name="l10059"></a><span class="lineno">10059</span>&#160;                <span class="comment">// context-sensitive error message</span></div><div class="line"><a name="l10060"></a><span class="lineno">10060</span>&#160;                <span class="keyword">const</span> <span class="keyword">auto</span> error_msg = (op == <span class="stringliteral">&quot;op&quot;</span>) ? <span class="stringliteral">&quot;operation&quot;</span> : <span class="stringliteral">&quot;operation &#39;&quot;</span> + op + <span class="stringliteral">&quot;&#39;&quot;</span>;</div><div class="line"><a name="l10061"></a><span class="lineno">10061</span>&#160;</div><div class="line"><a name="l10062"></a><span class="lineno">10062</span>&#160;                <span class="comment">// check if desired value is present</span></div><div class="line"><a name="l10063"></a><span class="lineno">10063</span>&#160;                <span class="keywordflow">if</span> (it == val.m_value.object-&gt;end())</div><div class="line"><a name="l10064"></a><span class="lineno">10064</span>&#160;                {</div><div class="line"><a name="l10065"></a><span class="lineno">10065</span>&#160;                    <span class="keywordflow">throw</span> std::invalid_argument(error_msg + <span class="stringliteral">&quot; must have member &#39;&quot;</span> + member + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l10066"></a><span class="lineno">10066</span>&#160;                }</div><div class="line"><a name="l10067"></a><span class="lineno">10067</span>&#160;</div><div class="line"><a name="l10068"></a><span class="lineno">10068</span>&#160;                <span class="comment">// check if result is of type string</span></div><div class="line"><a name="l10069"></a><span class="lineno">10069</span>&#160;                <span class="keywordflow">if</span> (string_type and not it-&gt;second.is_string())</div><div class="line"><a name="l10070"></a><span class="lineno">10070</span>&#160;                {</div><div class="line"><a name="l10071"></a><span class="lineno">10071</span>&#160;                    <span class="keywordflow">throw</span> std::invalid_argument(error_msg + <span class="stringliteral">&quot; must have string member &#39;&quot;</span> + member + <span class="stringliteral">&quot;&#39;&quot;</span>);</div><div class="line"><a name="l10072"></a><span class="lineno">10072</span>&#160;                }</div><div class="line"><a name="l10073"></a><span class="lineno">10073</span>&#160;</div><div class="line"><a name="l10074"></a><span class="lineno">10074</span>&#160;                <span class="comment">// no error: return value</span></div><div class="line"><a name="l10075"></a><span class="lineno">10075</span>&#160;                <span class="keywordflow">return</span> it-&gt;second;</div><div class="line"><a name="l10076"></a><span class="lineno">10076</span>&#160;            };</div><div class="line"><a name="l10077"></a><span class="lineno">10077</span>&#160;</div><div class="line"><a name="l10078"></a><span class="lineno">10078</span>&#160;            <span class="comment">// type check</span></div><div class="line"><a name="l10079"></a><span class="lineno">10079</span>&#160;            <span class="keywordflow">if</span> (not val.is_object())</div><div class="line"><a name="l10080"></a><span class="lineno">10080</span>&#160;            {</div><div class="line"><a name="l10081"></a><span class="lineno">10081</span>&#160;                <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;JSON patch must be an array of objects&quot;</span>);</div><div class="line"><a name="l10082"></a><span class="lineno">10082</span>&#160;            }</div><div class="line"><a name="l10083"></a><span class="lineno">10083</span>&#160;</div><div class="line"><a name="l10084"></a><span class="lineno">10084</span>&#160;            <span class="comment">// collect mandatory members</span></div><div class="line"><a name="l10085"></a><span class="lineno">10085</span>&#160;            <span class="keyword">const</span> std::string op = get_value(<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;op&quot;</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l10086"></a><span class="lineno">10086</span>&#160;            <span class="keyword">const</span> std::string path = get_value(op, <span class="stringliteral">&quot;path&quot;</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l10087"></a><span class="lineno">10087</span>&#160;            <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> ptr(path);</div><div class="line"><a name="l10088"></a><span class="lineno">10088</span>&#160;</div><div class="line"><a name="l10089"></a><span class="lineno">10089</span>&#160;            <span class="keywordflow">switch</span> (get_op(op))</div><div class="line"><a name="l10090"></a><span class="lineno">10090</span>&#160;            {</div><div class="line"><a name="l10091"></a><span class="lineno">10091</span>&#160;                <span class="keywordflow">case</span> patch_operations::add:</div><div class="line"><a name="l10092"></a><span class="lineno">10092</span>&#160;                {</div><div class="line"><a name="l10093"></a><span class="lineno">10093</span>&#160;                    operation_add(ptr, get_value(<span class="stringliteral">&quot;add&quot;</span>, <span class="stringliteral">&quot;value&quot;</span>, <span class="keyword">false</span>));</div><div class="line"><a name="l10094"></a><span class="lineno">10094</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l10095"></a><span class="lineno">10095</span>&#160;                }</div><div class="line"><a name="l10096"></a><span class="lineno">10096</span>&#160;</div><div class="line"><a name="l10097"></a><span class="lineno">10097</span>&#160;                <span class="keywordflow">case</span> patch_operations::remove:</div><div class="line"><a name="l10098"></a><span class="lineno">10098</span>&#160;                {</div><div class="line"><a name="l10099"></a><span class="lineno">10099</span>&#160;                    operation_remove(ptr);</div><div class="line"><a name="l10100"></a><span class="lineno">10100</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l10101"></a><span class="lineno">10101</span>&#160;                }</div><div class="line"><a name="l10102"></a><span class="lineno">10102</span>&#160;</div><div class="line"><a name="l10103"></a><span class="lineno">10103</span>&#160;                <span class="keywordflow">case</span> patch_operations::replace:</div><div class="line"><a name="l10104"></a><span class="lineno">10104</span>&#160;                {</div><div class="line"><a name="l10105"></a><span class="lineno">10105</span>&#160;                    <span class="comment">// the &quot;path&quot; location must exist - use at()</span></div><div class="line"><a name="l10106"></a><span class="lineno">10106</span>&#160;                    result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(ptr) = get_value(<span class="stringliteral">&quot;replace&quot;</span>, <span class="stringliteral">&quot;value&quot;</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l10107"></a><span class="lineno">10107</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l10108"></a><span class="lineno">10108</span>&#160;                }</div><div class="line"><a name="l10109"></a><span class="lineno">10109</span>&#160;</div><div class="line"><a name="l10110"></a><span class="lineno">10110</span>&#160;                <span class="keywordflow">case</span> patch_operations::move:</div><div class="line"><a name="l10111"></a><span class="lineno">10111</span>&#160;                {</div><div class="line"><a name="l10112"></a><span class="lineno">10112</span>&#160;                    <span class="keyword">const</span> std::string from_path = get_value(<span class="stringliteral">&quot;move&quot;</span>, <span class="stringliteral">&quot;from&quot;</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l10113"></a><span class="lineno">10113</span>&#160;                    <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> from_ptr(from_path);</div><div class="line"><a name="l10114"></a><span class="lineno">10114</span>&#160;</div><div class="line"><a name="l10115"></a><span class="lineno">10115</span>&#160;                    <span class="comment">// the &quot;from&quot; location must exist - use at()</span></div><div class="line"><a name="l10116"></a><span class="lineno">10116</span>&#160;                    <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> v = result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(from_ptr);</div><div class="line"><a name="l10117"></a><span class="lineno">10117</span>&#160;</div><div class="line"><a name="l10118"></a><span class="lineno">10118</span>&#160;                    <span class="comment">// The move operation is functionally identical to a</span></div><div class="line"><a name="l10119"></a><span class="lineno">10119</span>&#160;                    <span class="comment">// &quot;remove&quot; operation on the &quot;from&quot; location, followed</span></div><div class="line"><a name="l10120"></a><span class="lineno">10120</span>&#160;                    <span class="comment">// immediately by an &quot;add&quot; operation at the target</span></div><div class="line"><a name="l10121"></a><span class="lineno">10121</span>&#160;                    <span class="comment">// location with the value that was just removed.</span></div><div class="line"><a name="l10122"></a><span class="lineno">10122</span>&#160;                    operation_remove(from_ptr);</div><div class="line"><a name="l10123"></a><span class="lineno">10123</span>&#160;                    operation_add(ptr, v);</div><div class="line"><a name="l10124"></a><span class="lineno">10124</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l10125"></a><span class="lineno">10125</span>&#160;                }</div><div class="line"><a name="l10126"></a><span class="lineno">10126</span>&#160;</div><div class="line"><a name="l10127"></a><span class="lineno">10127</span>&#160;                <span class="keywordflow">case</span> patch_operations::copy:</div><div class="line"><a name="l10128"></a><span class="lineno">10128</span>&#160;                {</div><div class="line"><a name="l10129"></a><span class="lineno">10129</span>&#160;                    <span class="keyword">const</span> std::string from_path = get_value(<span class="stringliteral">&quot;copy&quot;</span>, <span class="stringliteral">&quot;from&quot;</span>, <span class="keyword">true</span>);;</div><div class="line"><a name="l10130"></a><span class="lineno">10130</span>&#160;                    <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">json_pointer</a> from_ptr(from_path);</div><div class="line"><a name="l10131"></a><span class="lineno">10131</span>&#160;</div><div class="line"><a name="l10132"></a><span class="lineno">10132</span>&#160;                    <span class="comment">// the &quot;from&quot; location must exist - use at()</span></div><div class="line"><a name="l10133"></a><span class="lineno">10133</span>&#160;                    result[ptr] = result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(from_ptr);</div><div class="line"><a name="l10134"></a><span class="lineno">10134</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l10135"></a><span class="lineno">10135</span>&#160;                }</div><div class="line"><a name="l10136"></a><span class="lineno">10136</span>&#160;</div><div class="line"><a name="l10137"></a><span class="lineno">10137</span>&#160;                <span class="keywordflow">case</span> patch_operations::test:</div><div class="line"><a name="l10138"></a><span class="lineno">10138</span>&#160;                {</div><div class="line"><a name="l10139"></a><span class="lineno">10139</span>&#160;                    <span class="keywordtype">bool</span> success = <span class="keyword">false</span>;</div><div class="line"><a name="l10140"></a><span class="lineno">10140</span>&#160;                    <span class="keywordflow">try</span></div><div class="line"><a name="l10141"></a><span class="lineno">10141</span>&#160;                    {</div><div class="line"><a name="l10142"></a><span class="lineno">10142</span>&#160;                        <span class="comment">// check if &quot;value&quot; matches the one at &quot;path&quot;</span></div><div class="line"><a name="l10143"></a><span class="lineno">10143</span>&#160;                        <span class="comment">// the &quot;path&quot; location must exist - use at()</span></div><div class="line"><a name="l10144"></a><span class="lineno">10144</span>&#160;                        success = (result.<a class="code" href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">at</a>(ptr) == get_value(<span class="stringliteral">&quot;test&quot;</span>, <span class="stringliteral">&quot;value&quot;</span>, <span class="keyword">false</span>));</div><div class="line"><a name="l10145"></a><span class="lineno">10145</span>&#160;                    }</div><div class="line"><a name="l10146"></a><span class="lineno">10146</span>&#160;                    <span class="keywordflow">catch</span> (std::out_of_range&amp;)</div><div class="line"><a name="l10147"></a><span class="lineno">10147</span>&#160;                    {</div><div class="line"><a name="l10148"></a><span class="lineno">10148</span>&#160;                        <span class="comment">// ignore out of range errors: success remains false</span></div><div class="line"><a name="l10149"></a><span class="lineno">10149</span>&#160;                    }</div><div class="line"><a name="l10150"></a><span class="lineno">10150</span>&#160;</div><div class="line"><a name="l10151"></a><span class="lineno">10151</span>&#160;                    <span class="comment">// throw an exception if test fails</span></div><div class="line"><a name="l10152"></a><span class="lineno">10152</span>&#160;                    <span class="keywordflow">if</span> (not success)</div><div class="line"><a name="l10153"></a><span class="lineno">10153</span>&#160;                    {</div><div class="line"><a name="l10154"></a><span class="lineno">10154</span>&#160;                        <span class="keywordflow">throw</span> std::domain_error(<span class="stringliteral">&quot;unsuccessful: &quot;</span> + val.dump());</div><div class="line"><a name="l10155"></a><span class="lineno">10155</span>&#160;                    }</div><div class="line"><a name="l10156"></a><span class="lineno">10156</span>&#160;</div><div class="line"><a name="l10157"></a><span class="lineno">10157</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l10158"></a><span class="lineno">10158</span>&#160;                }</div><div class="line"><a name="l10159"></a><span class="lineno">10159</span>&#160;</div><div class="line"><a name="l10160"></a><span class="lineno">10160</span>&#160;                <span class="keywordflow">case</span> patch_operations::invalid:</div><div class="line"><a name="l10161"></a><span class="lineno">10161</span>&#160;                {</div><div class="line"><a name="l10162"></a><span class="lineno">10162</span>&#160;                    <span class="comment">// op must be &quot;add&quot;, &quot;remove&quot;, &quot;replace&quot;, &quot;move&quot;, &quot;copy&quot;, or</span></div><div class="line"><a name="l10163"></a><span class="lineno">10163</span>&#160;                    <span class="comment">// &quot;test&quot;</span></div><div class="line"><a name="l10164"></a><span class="lineno">10164</span>&#160;                    <span class="keywordflow">throw</span> std::invalid_argument(<span class="stringliteral">&quot;operation value &#39;&quot;</span> + op + <span class="stringliteral">&quot;&#39; is invalid&quot;</span>);</div><div class="line"><a name="l10165"></a><span class="lineno">10165</span>&#160;                }</div><div class="line"><a name="l10166"></a><span class="lineno">10166</span>&#160;            }</div><div class="line"><a name="l10167"></a><span class="lineno">10167</span>&#160;        }</div><div class="line"><a name="l10168"></a><span class="lineno">10168</span>&#160;</div><div class="line"><a name="l10169"></a><span class="lineno">10169</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l10170"></a><span class="lineno">10170</span>&#160;    }</div><div class="line"><a name="l10171"></a><span class="lineno">10171</span>&#160;</div><div class="line"><a name="l10204"></a><span class="lineno">10204</span>&#160;    <span class="keyword">static</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> diff(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; source,</div><div class="line"><a name="l10205"></a><span class="lineno">10205</span>&#160;                           <span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a>&amp; target,</div><div class="line"><a name="l10206"></a><span class="lineno">10206</span>&#160;                           std::string path = <span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l10207"></a><span class="lineno">10207</span>&#160;    {</div><div class="line"><a name="l10208"></a><span class="lineno"><a class="line" href="classnlohmann_1_1basic__json_a618a5c5c9f8889032657370c8247a587.html#a618a5c5c9f8889032657370c8247a587">10208</a></span>&#160;        <span class="comment">// the patch</span></div><div class="line"><a name="l10209"></a><span class="lineno">10209</span>&#160;        <a class="code" href="classnlohmann_1_1basic__json.html">basic_json</a> result(value_t::array);</div><div class="line"><a name="l10210"></a><span class="lineno">10210</span>&#160;</div><div class="line"><a name="l10211"></a><span class="lineno">10211</span>&#160;        <span class="comment">// if the values are the same, return empty patch</span></div><div class="line"><a name="l10212"></a><span class="lineno">10212</span>&#160;        <span class="keywordflow">if</span> (source == target)</div><div class="line"><a name="l10213"></a><span class="lineno">10213</span>&#160;        {</div><div class="line"><a name="l10214"></a><span class="lineno">10214</span>&#160;            <span class="keywordflow">return</span> result;</div><div class="line"><a name="l10215"></a><span class="lineno">10215</span>&#160;        }</div><div class="line"><a name="l10216"></a><span class="lineno">10216</span>&#160;</div><div class="line"><a name="l10217"></a><span class="lineno">10217</span>&#160;        <span class="keywordflow">if</span> (source.<a class="code" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a>() != target.<a class="code" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a>())</div><div class="line"><a name="l10218"></a><span class="lineno">10218</span>&#160;        {</div><div class="line"><a name="l10219"></a><span class="lineno">10219</span>&#160;            <span class="comment">// different types: replace value</span></div><div class="line"><a name="l10220"></a><span class="lineno">10220</span>&#160;            result.push_back(</div><div class="line"><a name="l10221"></a><span class="lineno">10221</span>&#160;            {</div><div class="line"><a name="l10222"></a><span class="lineno">10222</span>&#160;                {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;replace&quot;</span>},</div><div class="line"><a name="l10223"></a><span class="lineno">10223</span>&#160;                {<span class="stringliteral">&quot;path&quot;</span>, path},</div><div class="line"><a name="l10224"></a><span class="lineno">10224</span>&#160;                {<span class="stringliteral">&quot;value&quot;</span>, target}</div><div class="line"><a name="l10225"></a><span class="lineno">10225</span>&#160;            });</div><div class="line"><a name="l10226"></a><span class="lineno">10226</span>&#160;        }</div><div class="line"><a name="l10227"></a><span class="lineno">10227</span>&#160;        <span class="keywordflow">else</span></div><div class="line"><a name="l10228"></a><span class="lineno">10228</span>&#160;        {</div><div class="line"><a name="l10229"></a><span class="lineno">10229</span>&#160;            <span class="keywordflow">switch</span> (source.<a class="code" href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">type</a>())</div><div class="line"><a name="l10230"></a><span class="lineno">10230</span>&#160;            {</div><div class="line"><a name="l10231"></a><span class="lineno">10231</span>&#160;                <span class="keywordflow">case</span> value_t::array:</div><div class="line"><a name="l10232"></a><span class="lineno">10232</span>&#160;                {</div><div class="line"><a name="l10233"></a><span class="lineno">10233</span>&#160;                    <span class="comment">// first pass: traverse common elements</span></div><div class="line"><a name="l10234"></a><span class="lineno">10234</span>&#160;                    <span class="keywordtype">size_t</span> i = 0;</div><div class="line"><a name="l10235"></a><span class="lineno">10235</span>&#160;                    <span class="keywordflow">while</span> (i &lt; source.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>() and i &lt; target.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>())</div><div class="line"><a name="l10236"></a><span class="lineno">10236</span>&#160;                    {</div><div class="line"><a name="l10237"></a><span class="lineno">10237</span>&#160;                        <span class="comment">// recursive call to compare array values at index i</span></div><div class="line"><a name="l10238"></a><span class="lineno">10238</span>&#160;                        <span class="keyword">auto</span> temp_diff = diff(source[i], target[i], path + <span class="stringliteral">&quot;/&quot;</span> + std::to_string(i));</div><div class="line"><a name="l10239"></a><span class="lineno">10239</span>&#160;                        result.insert(result.end(), temp_diff.begin(), temp_diff.end());</div><div class="line"><a name="l10240"></a><span class="lineno">10240</span>&#160;                        ++i;</div><div class="line"><a name="l10241"></a><span class="lineno">10241</span>&#160;                    }</div><div class="line"><a name="l10242"></a><span class="lineno">10242</span>&#160;</div><div class="line"><a name="l10243"></a><span class="lineno">10243</span>&#160;                    <span class="comment">// i now reached the end of at least one array</span></div><div class="line"><a name="l10244"></a><span class="lineno">10244</span>&#160;                    <span class="comment">// in a second pass, traverse the remaining elements</span></div><div class="line"><a name="l10245"></a><span class="lineno">10245</span>&#160;</div><div class="line"><a name="l10246"></a><span class="lineno">10246</span>&#160;                    <span class="comment">// remove my remaining elements</span></div><div class="line"><a name="l10247"></a><span class="lineno">10247</span>&#160;                    <span class="keyword">const</span> <span class="keyword">auto</span> end_index = <span class="keyword">static_cast&lt;</span><a class="code" href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">difference_type</a><span class="keyword">&gt;</span>(result.size());</div><div class="line"><a name="l10248"></a><span class="lineno">10248</span>&#160;                    <span class="keywordflow">while</span> (i &lt; source.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>())</div><div class="line"><a name="l10249"></a><span class="lineno">10249</span>&#160;                    {</div><div class="line"><a name="l10250"></a><span class="lineno">10250</span>&#160;                        <span class="comment">// add operations in reverse order to avoid invalid</span></div><div class="line"><a name="l10251"></a><span class="lineno">10251</span>&#160;                        <span class="comment">// indices</span></div><div class="line"><a name="l10252"></a><span class="lineno">10252</span>&#160;                        result.insert(result.begin() + end_index, object(</div><div class="line"><a name="l10253"></a><span class="lineno">10253</span>&#160;                        {</div><div class="line"><a name="l10254"></a><span class="lineno">10254</span>&#160;                            {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;remove&quot;</span>},</div><div class="line"><a name="l10255"></a><span class="lineno">10255</span>&#160;                            {<span class="stringliteral">&quot;path&quot;</span>, path + <span class="stringliteral">&quot;/&quot;</span> + std::to_string(i)}</div><div class="line"><a name="l10256"></a><span class="lineno">10256</span>&#160;                        }));</div><div class="line"><a name="l10257"></a><span class="lineno">10257</span>&#160;                        ++i;</div><div class="line"><a name="l10258"></a><span class="lineno">10258</span>&#160;                    }</div><div class="line"><a name="l10259"></a><span class="lineno">10259</span>&#160;</div><div class="line"><a name="l10260"></a><span class="lineno">10260</span>&#160;                    <span class="comment">// add other remaining elements</span></div><div class="line"><a name="l10261"></a><span class="lineno">10261</span>&#160;                    <span class="keywordflow">while</span> (i &lt; target.<a class="code" href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">size</a>())</div><div class="line"><a name="l10262"></a><span class="lineno">10262</span>&#160;                    {</div><div class="line"><a name="l10263"></a><span class="lineno">10263</span>&#160;                        result.push_back(</div><div class="line"><a name="l10264"></a><span class="lineno">10264</span>&#160;                        {</div><div class="line"><a name="l10265"></a><span class="lineno">10265</span>&#160;                            {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;add&quot;</span>},</div><div class="line"><a name="l10266"></a><span class="lineno">10266</span>&#160;                            {<span class="stringliteral">&quot;path&quot;</span>, path + <span class="stringliteral">&quot;/&quot;</span> + std::to_string(i)},</div><div class="line"><a name="l10267"></a><span class="lineno">10267</span>&#160;                            {<span class="stringliteral">&quot;value&quot;</span>, target[i]}</div><div class="line"><a name="l10268"></a><span class="lineno">10268</span>&#160;                        });</div><div class="line"><a name="l10269"></a><span class="lineno">10269</span>&#160;                        ++i;</div><div class="line"><a name="l10270"></a><span class="lineno">10270</span>&#160;                    }</div><div class="line"><a name="l10271"></a><span class="lineno">10271</span>&#160;</div><div class="line"><a name="l10272"></a><span class="lineno">10272</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l10273"></a><span class="lineno">10273</span>&#160;                }</div><div class="line"><a name="l10274"></a><span class="lineno">10274</span>&#160;</div><div class="line"><a name="l10275"></a><span class="lineno">10275</span>&#160;                <span class="keywordflow">case</span> value_t::object:</div><div class="line"><a name="l10276"></a><span class="lineno">10276</span>&#160;                {</div><div class="line"><a name="l10277"></a><span class="lineno">10277</span>&#160;                    <span class="comment">// first pass: traverse this object&#39;s elements</span></div><div class="line"><a name="l10278"></a><span class="lineno">10278</span>&#160;                    <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = source.<a class="code" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a>(); it != source.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>(); ++it)</div><div class="line"><a name="l10279"></a><span class="lineno">10279</span>&#160;                    {</div><div class="line"><a name="l10280"></a><span class="lineno">10280</span>&#160;                        <span class="comment">// escape the key name to be used in a JSON patch</span></div><div class="line"><a name="l10281"></a><span class="lineno">10281</span>&#160;                        <span class="keyword">const</span> <span class="keyword">auto</span> key = json_pointer::escape(it.key());</div><div class="line"><a name="l10282"></a><span class="lineno">10282</span>&#160;</div><div class="line"><a name="l10283"></a><span class="lineno">10283</span>&#160;                        <span class="keywordflow">if</span> (target.<a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(it.key()) != target.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>())</div><div class="line"><a name="l10284"></a><span class="lineno">10284</span>&#160;                        {</div><div class="line"><a name="l10285"></a><span class="lineno">10285</span>&#160;                            <span class="comment">// recursive call to compare object values at key it</span></div><div class="line"><a name="l10286"></a><span class="lineno">10286</span>&#160;                            <span class="keyword">auto</span> temp_diff = diff(it.value(), target[it.key()], path + <span class="stringliteral">&quot;/&quot;</span> + key);</div><div class="line"><a name="l10287"></a><span class="lineno">10287</span>&#160;                            result.insert(result.end(), temp_diff.begin(), temp_diff.end());</div><div class="line"><a name="l10288"></a><span class="lineno">10288</span>&#160;                        }</div><div class="line"><a name="l10289"></a><span class="lineno">10289</span>&#160;                        <span class="keywordflow">else</span></div><div class="line"><a name="l10290"></a><span class="lineno">10290</span>&#160;                        {</div><div class="line"><a name="l10291"></a><span class="lineno">10291</span>&#160;                            <span class="comment">// found a key that is not in o -&gt; remove it</span></div><div class="line"><a name="l10292"></a><span class="lineno">10292</span>&#160;                            result.push_back(<span class="keywordtype">object</span>(</div><div class="line"><a name="l10293"></a><span class="lineno">10293</span>&#160;                            {</div><div class="line"><a name="l10294"></a><span class="lineno">10294</span>&#160;                                {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;remove&quot;</span>},</div><div class="line"><a name="l10295"></a><span class="lineno">10295</span>&#160;                                {<span class="stringliteral">&quot;path&quot;</span>, path + <span class="stringliteral">&quot;/&quot;</span> + key}</div><div class="line"><a name="l10296"></a><span class="lineno">10296</span>&#160;                            }));</div><div class="line"><a name="l10297"></a><span class="lineno">10297</span>&#160;                        }</div><div class="line"><a name="l10298"></a><span class="lineno">10298</span>&#160;                    }</div><div class="line"><a name="l10299"></a><span class="lineno">10299</span>&#160;</div><div class="line"><a name="l10300"></a><span class="lineno">10300</span>&#160;                    <span class="comment">// second pass: traverse other object&#39;s elements</span></div><div class="line"><a name="l10301"></a><span class="lineno">10301</span>&#160;                    <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = target.<a class="code" href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">begin</a>(); it != target.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>(); ++it)</div><div class="line"><a name="l10302"></a><span class="lineno">10302</span>&#160;                    {</div><div class="line"><a name="l10303"></a><span class="lineno">10303</span>&#160;                        <span class="keywordflow">if</span> (source.<a class="code" href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">find</a>(it.key()) == source.<a class="code" href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">end</a>())</div><div class="line"><a name="l10304"></a><span class="lineno">10304</span>&#160;                        {</div><div class="line"><a name="l10305"></a><span class="lineno">10305</span>&#160;                            <span class="comment">// found a key that is not in this -&gt; add it</span></div><div class="line"><a name="l10306"></a><span class="lineno">10306</span>&#160;                            <span class="keyword">const</span> <span class="keyword">auto</span> key = json_pointer::escape(it.key());</div><div class="line"><a name="l10307"></a><span class="lineno">10307</span>&#160;                            result.push_back(</div><div class="line"><a name="l10308"></a><span class="lineno">10308</span>&#160;                            {</div><div class="line"><a name="l10309"></a><span class="lineno">10309</span>&#160;                                {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;add&quot;</span>},</div><div class="line"><a name="l10310"></a><span class="lineno">10310</span>&#160;                                {<span class="stringliteral">&quot;path&quot;</span>, path + <span class="stringliteral">&quot;/&quot;</span> + key},</div><div class="line"><a name="l10311"></a><span class="lineno">10311</span>&#160;                                {<span class="stringliteral">&quot;value&quot;</span>, it.value()}</div><div class="line"><a name="l10312"></a><span class="lineno">10312</span>&#160;                            });</div><div class="line"><a name="l10313"></a><span class="lineno">10313</span>&#160;                        }</div><div class="line"><a name="l10314"></a><span class="lineno">10314</span>&#160;                    }</div><div class="line"><a name="l10315"></a><span class="lineno">10315</span>&#160;</div><div class="line"><a name="l10316"></a><span class="lineno">10316</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l10317"></a><span class="lineno">10317</span>&#160;                }</div><div class="line"><a name="l10318"></a><span class="lineno">10318</span>&#160;</div><div class="line"><a name="l10319"></a><span class="lineno">10319</span>&#160;                <span class="keywordflow">default</span>:</div><div class="line"><a name="l10320"></a><span class="lineno">10320</span>&#160;                {</div><div class="line"><a name="l10321"></a><span class="lineno">10321</span>&#160;                    <span class="comment">// both primitive type: replace value</span></div><div class="line"><a name="l10322"></a><span class="lineno">10322</span>&#160;                    result.push_back(</div><div class="line"><a name="l10323"></a><span class="lineno">10323</span>&#160;                    {</div><div class="line"><a name="l10324"></a><span class="lineno">10324</span>&#160;                        {<span class="stringliteral">&quot;op&quot;</span>, <span class="stringliteral">&quot;replace&quot;</span>},</div><div class="line"><a name="l10325"></a><span class="lineno">10325</span>&#160;                        {<span class="stringliteral">&quot;path&quot;</span>, path},</div><div class="line"><a name="l10326"></a><span class="lineno">10326</span>&#160;                        {<span class="stringliteral">&quot;value&quot;</span>, target}</div><div class="line"><a name="l10327"></a><span class="lineno">10327</span>&#160;                    });</div><div class="line"><a name="l10328"></a><span class="lineno">10328</span>&#160;                    <span class="keywordflow">break</span>;</div><div class="line"><a name="l10329"></a><span class="lineno">10329</span>&#160;                }</div><div class="line"><a name="l10330"></a><span class="lineno">10330</span>&#160;            }</div><div class="line"><a name="l10331"></a><span class="lineno">10331</span>&#160;        }</div><div class="line"><a name="l10332"></a><span class="lineno">10332</span>&#160;</div><div class="line"><a name="l10333"></a><span class="lineno">10333</span>&#160;        <span class="keywordflow">return</span> result;</div><div class="line"><a name="l10334"></a><span class="lineno">10334</span>&#160;    }</div><div class="line"><a name="l10335"></a><span class="lineno">10335</span>&#160;</div><div class="line"><a name="l10337"></a><span class="lineno">10337</span>&#160;};</div><div class="line"><a name="l10338"></a><span class="lineno">10338</span>&#160;</div><div class="line"><a name="l10339"></a><span class="lineno">10339</span>&#160;</div><div class="line"><a name="l10341"></a><span class="lineno">10341</span>&#160;<span class="comment">// presets //</span></div><div class="line"><a name="l10343"></a><span class="lineno">10343</span>&#160;<span class="comment"></span></div><div class="line"><a name="l10352"></a><span class="lineno">10352</span>&#160;<span class="keyword">using</span> <a class="code" href="classnlohmann_1_1basic__json.html">json</a> = <a class="code" href="classnlohmann_1_1basic__json.html">basic_json&lt;&gt;</a>;</div><div class="line"><a name="l10353"></a><span class="lineno">10353</span>&#160;}</div><div class="line"><a name="l10354"></a><span class="lineno">10354</span>&#160;</div><div class="line"><a name="l10355"></a><span class="lineno">10355</span>&#160;</div><div class="line"><a name="l10357"></a><span class="lineno">10357</span>&#160;<span class="comment">// nonmember support //</span></div><div class="line"><a name="l10359"></a><span class="lineno">10359</span>&#160;<span class="comment"></span></div><div class="line"><a name="l10360"></a><span class="lineno">10360</span>&#160;<span class="comment">// specialization of std::swap, and std::hash</span></div><div class="line"><a name="l10361"></a><span class="lineno">10361</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacestd.html">std</a></div><div class="line"><a name="l10362"></a><span class="lineno">10362</span>&#160;{</div><div class="line"><a name="l10368"></a><span class="lineno">10368</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l10369"></a><span class="lineno">10369</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> swap(<a class="code" href="classnlohmann_1_1basic__json.html">nlohmann::json</a>&amp; j1,</div><div class="line"><a name="l10370"></a><span class="lineno">10370</span>&#160;                 <a class="code" href="classnlohmann_1_1basic__json.html">nlohmann::json</a>&amp; j2) noexcept(</div><div class="line"><a name="l10371"></a><span class="lineno">10371</span>&#160;                     is_nothrow_move_constructible&lt;nlohmann::json&gt;::value and</div><div class="line"><a name="l10372"></a><span class="lineno">10372</span>&#160;                     is_nothrow_move_assignable&lt;nlohmann::json&gt;::value</div><div class="line"><a name="l10373"></a><span class="lineno">10373</span>&#160;                 )</div><div class="line"><a name="l10374"></a><span class="lineno">10374</span>&#160;{</div><div class="line"><a name="l10375"></a><span class="lineno">10375</span>&#160;    j1.swap(j2);</div><div class="line"><a name="l10376"></a><span class="lineno">10376</span>&#160;}</div><div class="line"><a name="l10377"></a><span class="lineno">10377</span>&#160;</div><div class="line"><a name="l10379"></a><span class="lineno">10379</span>&#160;<span class="keyword">template</span> &lt;&gt;</div><div class="line"><a name="l10380"></a><span class="lineno">10380</span>&#160;<span class="keyword">struct </span>hash&lt;<a class="code" href="namespacenlohmann.html">nlohmann</a>::<a class="code" href="classnlohmann_1_1basic__json.html">json</a>&gt;</div><div class="line"><a name="l10381"></a><span class="lineno">10381</span>&#160;{</div><div class="line"><a name="l10387"></a><span class="lineno">10387</span>&#160;    std::size_t operator()(<span class="keyword">const</span> <a class="code" href="classnlohmann_1_1basic__json.html">nlohmann::json</a>&amp; j)<span class="keyword"> const</span></div><div class="line"><a name="l10388"></a><span class="lineno">10388</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l10389"></a><span class="lineno">10389</span>&#160;        <span class="comment">// a naive hashing via the string representation</span></div><div class="line"><a name="l10390"></a><span class="lineno">10390</span>&#160;        <span class="keyword">const</span> <span class="keyword">auto</span>&amp; h = hash&lt;nlohmann::json::string_t&gt;();</div><div class="line"><a name="l10391"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01nlohmann_1_1json_01_4_afd03f6ad53db22868ca4163a8200b2f9.html#afd03f6ad53db22868ca4163a8200b2f9">10391</a></span>&#160;        <span class="keywordflow">return</span> h(j.<a class="code" href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">dump</a>());</div><div class="line"><a name="l10392"></a><span class="lineno">10392</span>&#160;    }</div><div class="line"><a name="l10393"></a><span class="lineno">10393</span>&#160;};</div><div class="line"><a name="l10394"></a><span class="lineno">10394</span>&#160;}</div><div class="line"><a name="l10395"></a><span class="lineno">10395</span>&#160;</div><div class="line"><a name="l10408"></a><span class="lineno">10408</span>&#160;<span class="keyword">inline</span> <a class="code" href="classnlohmann_1_1basic__json.html">nlohmann::json</a> <span class="keyword">operator</span> <span class="stringliteral">&quot;&quot;</span> _json(<span class="keyword">const</span> <span class="keywordtype">char</span>* s, std::size_t)</div><div class="line"><a name="l10409"></a><span class="lineno">10409</span>&#160;{</div><div class="line"><a name="l10410"></a><span class="lineno">10410</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">nlohmann::json::parse</a>(reinterpret_cast&lt;const nlohmann::json::string_t::value_type*&gt;(s));</div><div class="line"><a name="l10411"></a><span class="lineno">10411</span>&#160;}</div><div class="line"><a name="l10412"></a><span class="lineno">10412</span>&#160;</div><div class="line"><a name="l10425"></a><span class="lineno">10425</span>&#160;<span class="keyword">inline</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">nlohmann::json::json_pointer</a> <span class="keyword">operator</span> <span class="stringliteral">&quot;&quot;</span> _json_pointer(<span class="keyword">const</span> <span class="keywordtype">char</span>* s, std::size_t)</div><div class="line"><a name="l10426"></a><span class="lineno">10426</span>&#160;{</div><div class="line"><a name="l10427"></a><span class="lineno">10427</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classnlohmann_1_1basic__json_1_1json__pointer.html">nlohmann::json::json_pointer</a>(s);</div><div class="line"><a name="l10428"></a><span class="lineno">10428</span>&#160;}</div><div class="line"><a name="l10429"></a><span class="lineno">10429</span>&#160;</div><div class="line"><a name="l10430"></a><span class="lineno">10430</span>&#160;<span class="comment">// restore GCC/clang diagnostic settings</span></div><div class="line"><a name="l10431"></a><span class="lineno">10431</span>&#160;<span class="preprocessor">#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)</span></div><div class="line"><a name="l10432"></a><span class="lineno">10432</span>&#160;<span class="preprocessor">    #pragma GCC diagnostic pop</span></div><div class="line"><a name="l10433"></a><span class="lineno">10433</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l10434"></a><span class="lineno">10434</span>&#160;</div><div class="line"><a name="l10435"></a><span class="lineno">10435</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb_html_a23de834b11bd895209aa65c100ab9ceb"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a23de834b11bd895209aa65c100ab9ceb.html#a23de834b11bd895209aa65c100ab9ceb">nlohmann::basic_json::const_iterator::const_iterator</a></div><div class="ttdeci">const_iterator(pointer object) noexcept</div><div class="ttdoc">constructor for a given JSON instance </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06631">json.hpp:6631</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac_html_a5c8bb5200f5eac10d31e26be46e5b1ac"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5c8bb5200f5eac10d31e26be46e5b1ac.html#a5c8bb5200f5eac10d31e26be46e5b1ac">nlohmann::basic_json::operator&lt;=</a></div><div class="ttdeci">friend bool operator&lt;=(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: less than or equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05793">json.hpp:5793</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148_html_a8f77085bd98c97a983d9ba12efbf6148"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const value_t value_type)</div><div class="ttdoc">create an empty value with a given type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01053">json.hpp:1053</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf_html_a3aaf41d385f0d9a93deb92f9b14ae0cf"><div class="ttname"><a href="classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const array_t &amp;val)</div><div class="ttdoc">create an array (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01200">json.hpp:1200</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080_html_a9a0b1acc13023170d2295eb512289080"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080">nlohmann::basic_json::parse</a></div><div class="ttdeci">static basic_json parse(const string_t &amp;s, const parser_callback_t cb=nullptr)</div><div class="ttdoc">deserialize from string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05949">json.hpp:5949</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27_html_a51b0036310d8aa5858fecc0d91127f27"><div class="ttname"><a href="classnlohmann_1_1basic__json_a51b0036310d8aa5858fecc0d91127f27.html#a51b0036310d8aa5858fecc0d91127f27">nlohmann::basic_json::count</a></div><div class="ttdeci">size_type count(typename object_t::key_type key) const </div><div class="ttdoc">returns the number of occurrences of a key in a JSON object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04317">json.hpp:4317</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea_html_a99f2e765029e51dd0fff018650f92eea"><div class="ttname"><a href="classnlohmann_1_1basic__json_a99f2e765029e51dd0fff018650f92eea.html#a99f2e765029e51dd0fff018650f92eea">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">const_reference operator[](size_type idx) const </div><div class="ttdoc">access specified array element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03438">json.hpp:3438</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f_html_a8ffbf287736048e683f58306fdb8701f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f">nlohmann::basic_json::iterator::value</a></div><div class="ttdeci">reference value() const </div><div class="ttdoc">return the value of an iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07342">json.hpp:7342</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c_html_a563a7bd281e9919798d18396107fb05c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a563a7bd281e9919798d18396107fb05c.html#a563a7bd281e9919798d18396107fb05c">nlohmann::basic_json::json_reverse_iterator::operator--</a></div><div class="ttdeci">json_reverse_iterator &amp; operator--()</div><div class="ttdoc">pre-decrement (–it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07404">json.hpp:7404</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f_html_ad6e51670e9c0052856f3fee01df5c44f"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad6e51670e9c0052856f3fee01df5c44f.html#ad6e51670e9c0052856f3fee01df5c44f">nlohmann::basic_json::clear</a></div><div class="ttdeci">void clear() noexcept</div><div class="ttdoc">clears the contents </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04875">json.hpp:4875</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803_html_ab4c0b9baaec9ebc4837158e272f6c803"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_ab4c0b9baaec9ebc4837158e272f6c803.html#ab4c0b9baaec9ebc4837158e272f6c803">nlohmann::basic_json::const_iterator::operator==</a></div><div class="ttdeci">bool operator==(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06953">json.hpp:6953</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff_html_a693439bffe56a9a8cf53bc4a06b911ff"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a693439bffe56a9a8cf53bc4a06b911ff.html#a693439bffe56a9a8cf53bc4a06b911ff">nlohmann::basic_json::json_reverse_iterator::operator--</a></div><div class="ttdeci">json_reverse_iterator operator--(int)</div><div class="ttdoc">post-decrement (it–) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07398">json.hpp:7398</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b_html_a140b8251f82e99ad279dcad5c977e26b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a140b8251f82e99ad279dcad5c977e26b.html#a140b8251f82e99ad279dcad5c977e26b">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">reference operator[](T *(&amp;key)[n])</div><div class="ttdoc">access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03568">json.hpp:3568</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8_html_aaf363408931d76472ded14017e59c9e8"><div class="ttname"><a href="classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8">nlohmann::basic_json::operator&gt;&gt;</a></div><div class="ttdeci">friend std::istream &amp; operator&gt;&gt;(std::istream &amp;i, basic_json &amp;j)</div><div class="ttdoc">deserialize from stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06027">json.hpp:6027</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b_html_a628733b45cd0e32bd59efea149f40b4b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a628733b45cd0e32bd59efea149f40b4b.html#a628733b45cd0e32bd59efea149f40b4b">nlohmann::basic_json::is_number_float</a></div><div class="ttdeci">constexpr bool is_number_float() const  noexcept</div><div class="ttdoc">return whether value is a floating-point number </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02488">json.hpp:2488</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b_html_a018ea61dbc973192d2ffc6bccc50696b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a018ea61dbc973192d2ffc6bccc50696b.html#a018ea61dbc973192d2ffc6bccc50696b">nlohmann::basic_json::rend</a></div><div class="ttdeci">const_reverse_iterator rend() const  noexcept</div><div class="ttdoc">returns a const reverse iterator to one before the first </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04543">json.hpp:4543</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c_html_ae0c848dbc0af1cde15771d45d775b27c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_ae0c848dbc0af1cde15771d45d775b27c.html#ae0c848dbc0af1cde15771d45d775b27c">nlohmann::basic_json::iterator::operator+=</a></div><div class="ttdeci">iterator &amp; operator+=(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07300">json.hpp:7300</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff_html_ad25b2f8c21e241e2d63455537a9294ff"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad25b2f8c21e241e2d63455537a9294ff.html#ad25b2f8c21e241e2d63455537a9294ff">nlohmann::basic_json::object</a></div><div class="ttdeci">static basic_json object(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an object from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01797">json.hpp:1797</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151_html_abc4552ba2fe39e7901a83dd6d4dec151"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_abc4552ba2fe39e7901a83dd6d4dec151.html#abc4552ba2fe39e7901a83dd6d4dec151">nlohmann::basic_json::const_iterator::operator-</a></div><div class="ttdeci">const_iterator operator-(difference_type i)</div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07106">json.hpp:7106</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723_html_af3bc3e83aa162d7ba4df16a949872723"><div class="ttname"><a href="classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723">nlohmann::basic_json::boolean_t</a></div><div class="ttdeci">BooleanType boolean_t</div><div class="ttdoc">a type for a boolean </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00500">json.hpp:500</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb_html_aa7205e1926d3aea98adeced91b0ff5fb"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa7205e1926d3aea98adeced91b0ff5fb.html#aa7205e1926d3aea98adeced91b0ff5fb">nlohmann::basic_json::cbegin</a></div><div class="ttdeci">const_iterator cbegin() const  noexcept</div><div class="ttdoc">returns a const iterator to the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04397">json.hpp:4397</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6_html_a9486a272e034c0548305d7a12f3045e6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9486a272e034c0548305d7a12f3045e6.html#a9486a272e034c0548305d7a12f3045e6">nlohmann::basic_json::operator+=</a></div><div class="ttdeci">reference operator+=(const typename object_t::value_type &amp;val)</div><div class="ttdoc">add an object to an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05058">json.hpp:5058</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da_html_acbd82115f9232c3d3b5dacc78315b9da"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_acbd82115f9232c3d3b5dacc78315b9da.html#acbd82115f9232c3d3b5dacc78315b9da">nlohmann::basic_json::iterator::operator*</a></div><div class="ttdeci">reference operator*() const </div><div class="ttdoc">return a reference to the value pointed to by the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07258">json.hpp:7258</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5_html_a3654da9a84deaf61899c4eee5b93c2c5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const typename string_t::value_type *val)</div><div class="ttdoc">create a string (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01298">json.hpp:1298</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40_html_ad4ec2bbb8347e7aa3b58e616fd6c7f40"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ad4ec2bbb8347e7aa3b58e616fd6c7f40.html#ad4ec2bbb8347e7aa3b58e616fd6c7f40">nlohmann::basic_json::json_reverse_iterator::operator[]</a></div><div class="ttdeci">reference operator[](difference_type n) const </div><div class="ttdoc">access to successor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07440">json.hpp:7440</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f_html_affe7e160e7bb06eed83c8b437af4692f"><div class="ttname"><a href="classnlohmann_1_1basic__json_affe7e160e7bb06eed83c8b437af4692f.html#affe7e160e7bb06eed83c8b437af4692f">nlohmann::basic_json::find</a></div><div class="ttdeci">iterator find(typename object_t::key_type key)</div><div class="ttdoc">find an element in a JSON object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04271">json.hpp:4271</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327_html_a6e2e21da48f5d9471716cd868a068327"><div class="ttname"><a href="classnlohmann_1_1basic__json_a6e2e21da48f5d9471716cd868a068327.html#a6e2e21da48f5d9471716cd868a068327">nlohmann::basic_json::operator!=</a></div><div class="ttdeci">friend bool operator!=(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: not equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05637">json.hpp:5637</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de_html_ab8b43d92a042dde96c28aeea81dd52de"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const string_t &amp;val)</div><div class="ttdoc">create a string (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01272">json.hpp:1272</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba_html_a6f3dfd3e83a1e907d7946b47fcd7ceba"><div class="ttname"><a href="classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba">nlohmann::basic_json::push_back</a></div><div class="ttdeci">void push_back(const basic_json &amp;val)</div><div class="ttdoc">add an object to an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04984">json.hpp:4984</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5_html_a3da254c422ede5495f2815c5e48c00c5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a3da254c422ede5495f2815c5e48c00c5.html#a3da254c422ede5495f2815c5e48c00c5">nlohmann::basic_json::erase</a></div><div class="ttdeci">void erase(const size_type idx)</div><div class="ttdoc">remove element from a JSON array given an index </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04225">json.hpp:4225</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0_html_ab00b882d39306d663c23dab110f5cae0"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab00b882d39306d663c23dab110f5cae0.html#ab00b882d39306d663c23dab110f5cae0">nlohmann::basic_json::array_t</a></div><div class="ttdeci">ArrayType&lt; basic_json, AllocatorType&lt; basic_json &gt;&gt; array_t</div><div class="ttdoc">a type for an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00427">json.hpp:427</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c_html_aa45753034bea87f9d2c0c42ace9ff75c"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa45753034bea87f9d2c0c42ace9ff75c.html#aa45753034bea87f9d2c0c42ace9ff75c">nlohmann::basic_json::front</a></div><div class="ttdeci">reference front()</div><div class="ttdoc">access the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03881">json.hpp:3881</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794_html_a38ee0f09a318d003add75e0787040794"><div class="ttname"><a href="classnlohmann_1_1basic__json_a38ee0f09a318d003add75e0787040794.html#a38ee0f09a318d003add75e0787040794">nlohmann::basic_json::swap</a></div><div class="ttdeci">void swap(object_t &amp;other)</div><div class="ttdoc">exchanges the values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05401">json.hpp:5401</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a_html_ac2634bee082633671125e909dffad40a"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_ac2634bee082633671125e909dffad40a.html#ac2634bee082633671125e909dffad40a">nlohmann::basic_json::json_reverse_iterator::operator-</a></div><div class="ttdeci">json_reverse_iterator operator-(difference_type i) const </div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07426">json.hpp:7426</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522_html_a0d5820d1dda9dea3bbeb029cacf68522"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a0d5820d1dda9dea3bbeb029cacf68522.html#a0d5820d1dda9dea3bbeb029cacf68522">nlohmann::basic_json::const_iterator::operator+=</a></div><div class="ttdeci">const_iterator &amp; operator+=(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07055">json.hpp:7055</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_html"><div class="ttname"><a href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a></div><div class="ttdoc">a class to store JSON values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00221">json.hpp:221</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a_html_a70ae1f0747f5b7a89979512866474f1a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const int val) noexcept</div><div class="ttdoc">create an integer number from an enum type (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01417">json.hpp:1417</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b_html_aca5116682e206dac48f8a56716a3280b"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b">nlohmann::basic_json::json_reverse_iterator::value</a></div><div class="ttdeci">reference value() const </div><div class="ttdoc">return the value of an iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07453">json.hpp:7453</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52_html_a98e05a2c9b8f74bd60442772cddeee52"><div class="ttname"><a href="classnlohmann_1_1basic__json_a98e05a2c9b8f74bd60442772cddeee52.html#a98e05a2c9b8f74bd60442772cddeee52">nlohmann::basic_json::operator==</a></div><div class="ttdeci">friend bool operator==(std::nullptr_t, const_reference v) noexcept</div><div class="ttdoc">comparison: equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05616">json.hpp:5616</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59_html_ac4b10b2364f26ce47bdb9a413ff04a59"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac4b10b2364f26ce47bdb9a413ff04a59.html#ac4b10b2364f26ce47bdb9a413ff04a59">nlohmann::basic_json::number_integer_t</a></div><div class="ttdeci">NumberIntegerType number_integer_t</div><div class="ttdoc">a type for a number (integer) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00572">json.hpp:572</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6_html_a624025acfcf64364d98424402b837bc6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a624025acfcf64364d98424402b837bc6.html#a624025acfcf64364d98424402b837bc6">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, size_type cnt, const basic_json &amp;val)</div><div class="ttdoc">inserts elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05189">json.hpp:5189</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726_html_a674de1ee73e6bf4843fc5dc1351fb726"><div class="ttname"><a href="classnlohmann_1_1basic__json_a674de1ee73e6bf4843fc5dc1351fb726.html#a674de1ee73e6bf4843fc5dc1351fb726">nlohmann::basic_json::at</a></div><div class="ttdeci">const_reference at(const typename object_t::key_type &amp;key) const </div><div class="ttdoc">access specified object element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03344">json.hpp:3344</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40_html_a7a80257f2303210b0a5d056fc0b30b40"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a7a80257f2303210b0a5d056fc0b30b40.html#a7a80257f2303210b0a5d056fc0b30b40">nlohmann::basic_json::const_iterator::operator+</a></div><div class="ttdeci">const_iterator operator+(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07095">json.hpp:7095</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316_html_a0d96ff13001977a93d65f0a97279d316"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0d96ff13001977a93d65f0a97279d316.html#a0d96ff13001977a93d65f0a97279d316">nlohmann::basic_json::is_object</a></div><div class="ttdeci">constexpr bool is_object() const  noexcept</div><div class="ttdoc">return whether value is an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02510">json.hpp:2510</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b_html_a87499fdb56ca6f0df2242c3335c3dc9b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a87499fdb56ca6f0df2242c3335c3dc9b.html#a87499fdb56ca6f0df2242c3335c3dc9b">nlohmann::basic_json::is_number_integer</a></div><div class="ttdeci">constexpr bool is_number_integer() const  noexcept</div><div class="ttdoc">return whether value is an integer number </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02432">json.hpp:2432</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_html"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator.html">nlohmann::basic_json::iterator</a></div><div class="ttdoc">a mutable random access iterator for the basic_json class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07225">json.hpp:7225</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb_html_a8dbaec5bf8ccba3225520356629061cb"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a8dbaec5bf8ccba3225520356629061cb.html#a8dbaec5bf8ccba3225520356629061cb">nlohmann::basic_json::const_iterator::operator++</a></div><div class="ttdeci">const_iterator operator++(int)</div><div class="ttdoc">post-increment (it++) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06867">json.hpp:6867</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087_html_a19dfb04c297ffb5f0ef84abfa4a5a087"><div class="ttname"><a href="classnlohmann_1_1basic__json_a19dfb04c297ffb5f0ef84abfa4a5a087.html#a19dfb04c297ffb5f0ef84abfa4a5a087">nlohmann::basic_json::cend</a></div><div class="ttdeci">const_iterator cend() const  noexcept</div><div class="ttdoc">returns a const iterator to one past the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04468">json.hpp:4468</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f_html_a0ac9894c9de8dc551cf2e5f1c605537f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0ac9894c9de8dc551cf2e5f1c605537f.html#a0ac9894c9de8dc551cf2e5f1c605537f">nlohmann::basic_json::object_t</a></div><div class="ttdeci">ObjectType&lt; StringType, basic_json, std::less&lt; StringType &gt;, AllocatorType&lt; std::pair&lt; const StringType, basic_json &gt;&gt;&gt; object_t</div><div class="ttdoc">a type for an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00381">json.hpp:381</a></div></div>
 <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d_html_a60a04166c122072ab11eaf9845d9cd1d"><div class="ttname"><a href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">nlohmann::basic_json::number_unsigned_t</a></div><div class="ttdeci">NumberUnsignedType number_unsigned_t</div><div class="ttdoc">a type for a number (unsigned) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00611">json.hpp:611</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb_html_a06efb200b69942eacd1ea22d0f6ccebb"><div class="ttname"><a href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">nlohmann::basic_json::const_pointer</a></div><div class="ttdeci">typename std::allocator_traits&lt; allocator_type &gt;::const_pointer const_pointer</div><div class="ttdoc">the type of an element const pointer </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00231">json.hpp:231</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6_html_a0d838bc7ffca6017f51167e0a8ffd9b6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const number_integer_t val) noexcept</div><div class="ttdoc">create an integer number (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01279">json.hpp:1279</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f_html_a5685815624b086caa532f41e853d4b0f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">nlohmann::basic_json::array</a></div><div class="ttdeci">static basic_json array(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an array from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01645">json.hpp:1645</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5_html_af148cdab12df5bf86119fac735ccaac5"><div class="ttname"><a href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">nlohmann::basic_json::iterator_wrapper</a></div><div class="ttdeci">static iteration_proxy&lt; const_iterator &gt; iterator_wrapper(const_reference cont)</div><div class="ttdoc">wrapper to access iterator member functions in range-based for </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04395">json.hpp:4395</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154_html_a7c3182cfabc0bdd9f3a14216fe0e8154"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">nlohmann::basic_json::operator=</a></div><div class="ttdeci">reference &amp; operator=(basic_json other) noexcept(                       std::is_nothrow_move_constructible&lt; value_t &gt;::value and                       std::is_nothrow_move_assignable&lt; value_t &gt;::value and                       std::is_nothrow_move_constructible&lt; json_value &gt;::value and                       std::is_nothrow_move_assignable&lt; json_value &gt;::value       )</div><div class="ttdoc">copy assignment </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02000">json.hpp:2000</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa_html_a848cbae3bd3502ffbf738320bf5eb3aa"><div class="ttname"><a href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">nlohmann::basic_json::type</a></div><div class="ttdeci">constexpr value_t type() const  noexcept</div><div class="ttdoc">return the type of the JSON value (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02133">json.hpp:2133</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343_html_a9ea0497199b1e96ce9cadd1f202ec343"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html#a9ea0497199b1e96ce9cadd1f202ec343">nlohmann::basic_json::const_iterator::value_type</a></div><div class="ttdeci">typename basic_json::value_type value_type</div><div class="ttdoc">the type of the values when the iterator is dereferenced </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06370">json.hpp:6370</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99_html_a86c97bbb8ebe19aef4656cf796e30e99"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html#a86c97bbb8ebe19aef4656cf796e30e99">nlohmann::basic_json::json_reverse_iterator::json_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator(const typename base_iterator::iterator_type &amp;it) noexcept</div><div class="ttdoc">create reverse iterator from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07057">json.hpp:7057</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445_html_a7ab11375ed2e29c2fcb6119386851445"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">nlohmann::basic_json::get_ptr</a></div><div class="ttdeci">PointerType get_ptr() noexcept</div><div class="ttdoc">get a pointer value (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02893">json.hpp:2893</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03_html_ab22c8d61eca51f0308c263487bd35f03"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">nlohmann::basic_json::is_string</a></div><div class="ttdeci">constexpr bool is_string() const  noexcept</div><div class="ttdoc">return whether value is a string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02415">json.hpp:2415</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5_html_a71b1d38ef402dfee58fba1fe01fa67f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">nlohmann::basic_json::back</a></div><div class="ttdeci">reference back()</div><div class="ttdoc">access the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03685">json.hpp:3685</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071_html_af677a29b0e66edc9f66e5167e4667071"><div class="ttname"><a href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">nlohmann::basic_json::const_reference</a></div><div class="ttdeci">const value_type &amp; const_reference</div><div class="ttdoc">the type of an element const reference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00218">json.hpp:218</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389_html_a1da96fc3054d547e7706d3a2f073f389"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">nlohmann::basic_json::const_iterator::pointer</a></div><div class="ttdeci">typename basic_json::const_pointer pointer</div><div class="ttdoc">defines a pointer to the type iterated over (value_type) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06374">json.hpp:6374</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5_html_a5212588544f6d2266384c3be9bfda0c5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">nlohmann::basic_json::push_back</a></div><div class="ttdeci">void push_back(const typename object_t::value_type &amp;val)</div><div class="ttdoc">add an object to an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04794">json.hpp:4794</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43_html_a9c9b4932b26a9630e1a3f25ea42a2c43"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">nlohmann::basic_json::push_back</a></div><div class="ttdeci">void push_back(std::initializer_list&lt; basic_json &gt; init)</div><div class="ttdoc">add an object to an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04849">json.hpp:4849</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835_html_ae12db117a2742d826465080979d7c835"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html#ae12db117a2742d826465080979d7c835">nlohmann::basic_json::json_pointer::json_pointer</a></div><div class="ttdeci">json_pointer(const std::string &amp;s=&quot;&quot;)</div><div class="ttdoc">create JSON pointer </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l08760">json.hpp:8760</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86_html_a35303ad045a06c2a79dc28ac29652e86"><div class="ttname"><a href="classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86">nlohmann::basic_json::parse</a></div><div class="ttdeci">static basic_json parse(const string_t &amp;s, parser_callback_t cb=nullptr)</div><div class="ttdoc">deserialize from string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05714">json.hpp:5714</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae_html_ad9cd312208273fb3fb2adf1f6d8d34ae"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">const_reference operator[](T *(&amp;key)[n]) const </div><div class="ttdoc">read-only access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03439">json.hpp:3439</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6_html_aeaa0644fd6b99af364e772092268dfd6"><div class="ttname"><a href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, const_iterator first, const_iterator last)</div><div class="ttdoc">inserts elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05003">json.hpp:5003</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e_html_ade0e56c8c320d7f342e7a5697e6d6f7e"><div class="ttname"><a href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(std::nullptr_t) noexcept</div><div class="ttdoc">create a null object (explicitly) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01019">json.hpp:1019</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c_html_af7acf3838a79363356f24538941a559c"><div class="ttname"><a href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(InputIT first, InputIT last)</div><div class="ttdoc">construct a JSON container given an iterator range </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01755">json.hpp:1755</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4_html_a7e01532727c10f87926dac4eb8e170f4"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html#a7e01532727c10f87926dac4eb8e170f4">nlohmann::basic_json::iterator::operator[]</a></div><div class="ttdeci">reference operator[](difference_type n) const </div><div class="ttdoc">access to successor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07018">json.hpp:7018</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793_html_a1a446a48beed4ea564addfd12d235793"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">nlohmann::basic_json::get_allocator</a></div><div class="ttdeci">static allocator_type get_allocator()</div><div class="ttdoc">returns the allocator associated with the container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00248">json.hpp:248</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1_html_a2e26bd0b0168abb61f67ad5bcd5b9fa1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">const_reference operator[](const typename object_t::key_type &amp;key) const </div><div class="ttdoc">read-only access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03361">json.hpp:3361</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e_html_aa6fd72df1ce9f80e61012784c598456e"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">const_reference operator[](T *key) const </div><div class="ttdoc">read-only access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03521">json.hpp:3521</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1_html_a99ee137dab7e5c948457f6a5321b54b1"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html#a99ee137dab7e5c948457f6a5321b54b1">nlohmann::basic_json::json_reverse_iterator::operator+</a></div><div class="ttdeci">json_reverse_iterator operator+(difference_type i) const </div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07100">json.hpp:7100</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859_html_a90239431815c94b0a334f7f4c55eb859"><div class="ttname"><a href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">nlohmann::basic_json::empty</a></div><div class="ttdeci">bool empty() const  noexcept</div><div class="ttdoc">checks whether the container is empty </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04443">json.hpp:4443</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b_html_a1579a8f72a230358d6cd1a6e8a62859b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">nlohmann::basic_json::size_type</a></div><div class="ttdeci">std::size_t size_type</div><div class="ttdoc">a type to represent container sizes </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00223">json.hpp:223</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955_html_acecae6d237fcf14c909fb42b9d2e2955"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html#acecae6d237fcf14c909fb42b9d2e2955">nlohmann::basic_json::json_reverse_iterator::key</a></div><div class="ttdeci">object_t::key_type key() const </div><div class="ttdoc">return the key of an object iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07128">json.hpp:7128</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603_html_a6b950c6bc081ac1ec1540ec05ceb2603"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">nlohmann::basic_json::const_iterator::const_iterator</a></div><div class="ttdeci">const_iterator(const iterator &amp;other) noexcept</div><div class="ttdoc">copy constructor given a nonconst iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06412">json.hpp:6412</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1_html_a81aaaab0f3b326afda2d226daab4f1e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleArrayType &amp;val)</div><div class="ttdoc">create an array (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01144">json.hpp:1144</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0_html_a8f7e67d903f918cd08261219fb47a9f0"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">nlohmann::basic_json::is_boolean</a></div><div class="ttdeci">constexpr bool is_boolean() const  noexcept</div><div class="ttdoc">return whether value is a boolean </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02234">json.hpp:2234</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be_html_ab31368c0b67f8e4f291a45e6498018be"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">nlohmann::basic_json::at</a></div><div class="ttdeci">const_reference at(size_type idx) const </div><div class="ttdoc">access specified array element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03083">json.hpp:3083</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52_html_a112a2d8e76345ea64f71e2985fee4c52"><div class="ttname"><a href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(size_type cnt, const basic_json &amp;val)</div><div class="ttdoc">construct an array with count copies of given value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01709">json.hpp:1709</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e_html_a9ebc4c99e6fc90c965af0f39ad2ca70e"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">nlohmann::basic_json::json_reverse_iterator::base_iterator</a></div><div class="ttdeci">std::reverse_iterator&lt; Base &gt; base_iterator</div><div class="ttdoc">shortcut to the reverse iterator adaptor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07052">json.hpp:7052</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3_html_a43c08a393368eb674d0dcdbe301aafe3"><div class="ttname"><a href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">nlohmann::basic_json::crbegin</a></div><div class="ttdeci">const_reverse_iterator crbegin() const  noexcept</div><div class="ttdoc">returns a const reverse iterator to the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04337">json.hpp:4337</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13_html_aadb4e5be88221e5e28cdb752332f3d13"><div class="ttname"><a href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, std::initializer_list&lt; basic_json &gt; ilist)</div><div class="ttdoc">inserts elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05062">json.hpp:5062</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7_html_a9d1b58099dc64695fcf2847ab0b2a7c7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">nlohmann::basic_json::pointer</a></div><div class="ttdeci">typename std::allocator_traits&lt; allocator_type &gt;::pointer pointer</div><div class="ttdoc">the type of an element pointer </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00229">json.hpp:229</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b_html_a7f7bbb3a9efef2e2442f538a24c1c47b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, const basic_json &amp;val)</div><div class="ttdoc">inserts element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04894">json.hpp:4894</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453_html_a74a943800c7f103d0990d7eef82c6453"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">nlohmann::basic_json::operator&gt;=</a></div><div class="ttdeci">friend bool operator&gt;=(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: greater than or equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05615">json.hpp:5615</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3_html_aacd442b66140c764c594ac8ad7dfd5b3"><div class="ttname"><a href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">nlohmann::basic_json::operator&lt;</a></div><div class="ttdeci">friend bool operator&lt;(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: less than </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05470">json.hpp:5470</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a_html_a050b7fa21051ea57e5b0cc03668b5d4a"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html#a050b7fa21051ea57e5b0cc03668b5d4a">nlohmann::basic_json::iterator::operator++</a></div><div class="ttdeci">iterator &amp; operator++()</div><div class="ttdoc">pre-increment (++it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06960">json.hpp:6960</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3_html_a65f491b515e5967e9c0b40289e3c0ff3"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html#a65f491b515e5967e9c0b40289e3c0ff3">nlohmann::basic_json::const_iterator::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: smaller </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06710">json.hpp:6710</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9_html_a2943e49b3d88e6ee5793c5923ab2ede9"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html#a2943e49b3d88e6ee5793c5923ab2ede9">nlohmann::basic_json::iterator::operator++</a></div><div class="ttdeci">iterator operator++(int)</div><div class="ttdoc">post-increment (it++) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06952">json.hpp:6952</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2_html_a73e150cbcba5643cb89de8f515eb64e2"><div class="ttname"><a href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(basic_json &amp;&amp;other) noexcept</div><div class="ttdoc">move constructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01968">json.hpp:1968</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64_html_a6cab1c2ed7e2a014980e2a5717f43a64"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html#a6cab1c2ed7e2a014980e2a5717f43a64">nlohmann::basic_json::const_iterator::operator--</a></div><div class="ttdeci">const_iterator operator--(int)</div><div class="ttdoc">post-decrement (it–) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06637">json.hpp:6637</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074_html_a7ed92d56cb313b243c1917696ffdf074"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">nlohmann::basic_json::at</a></div><div class="ttdeci">reference at(const typename object_t::key_type &amp;key)</div><div class="ttdoc">access specified object element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03131">json.hpp:3131</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9_html_a3db892729714c4e7eaf60c00ee96e2e9"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html#a3db892729714c4e7eaf60c00ee96e2e9">nlohmann::basic_json::iterator::operator=</a></div><div class="ttdeci">iterator &amp; operator=(iterator other) noexcept(                                       std::is_nothrow_move_constructible&lt; pointer &gt;::value and                                       std::is_nothrow_move_assignable&lt; pointer &gt;::value and                                       std::is_nothrow_move_constructible&lt; internal_iterator &gt;::value and                                       std::is_nothrow_move_assignable&lt; internal_iterator &gt;::value                       )</div><div class="ttdoc">copy assignment </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06928">json.hpp:6928</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d_html_a60a04166c122072ab11eaf9845d9cd1d"><div class="ttname"><a href="classnlohmann_1_1basic__json_a60a04166c122072ab11eaf9845d9cd1d.html#a60a04166c122072ab11eaf9845d9cd1d">nlohmann::basic_json::number_unsigned_t</a></div><div class="ttdeci">NumberUnsignedType number_unsigned_t</div><div class="ttdoc">a type for a number (unsigned) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00643">json.hpp:643</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb_html_a06efb200b69942eacd1ea22d0f6ccebb"><div class="ttname"><a href="classnlohmann_1_1basic__json_a06efb200b69942eacd1ea22d0f6ccebb.html#a06efb200b69942eacd1ea22d0f6ccebb">nlohmann::basic_json::const_pointer</a></div><div class="ttdeci">typename std::allocator_traits&lt; allocator_type &gt;::const_pointer const_pointer</div><div class="ttdoc">the type of an element const pointer </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00262">json.hpp:262</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787_html_a959bc32fc72a76cd5a1bd6977926f787"><div class="ttname"><a href="classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787">nlohmann::basic_json::parse</a></div><div class="ttdeci">static basic_json parse(std::istream &amp;&amp;i, const parser_callback_t cb=nullptr)</div><div class="ttdoc">deserialize from stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05988">json.hpp:5988</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6_html_a0d838bc7ffca6017f51167e0a8ffd9b6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const number_integer_t val) noexcept</div><div class="ttdoc">create an integer number (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01386">json.hpp:1386</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f_html_a5685815624b086caa532f41e853d4b0f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5685815624b086caa532f41e853d4b0f.html#a5685815624b086caa532f41e853d4b0f">nlohmann::basic_json::array</a></div><div class="ttdeci">static basic_json array(std::initializer_list&lt; basic_json &gt; init=std::initializer_list&lt; basic_json &gt;())</div><div class="ttdoc">explicitly create an array from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01757">json.hpp:1757</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5_html_af148cdab12df5bf86119fac735ccaac5"><div class="ttname"><a href="classnlohmann_1_1basic__json_af148cdab12df5bf86119fac735ccaac5.html#af148cdab12df5bf86119fac735ccaac5">nlohmann::basic_json::iterator_wrapper</a></div><div class="ttdeci">static iteration_proxy&lt; const_iterator &gt; iterator_wrapper(const_reference cont)</div><div class="ttdoc">wrapper to access iterator member functions in range-based for </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04630">json.hpp:4630</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154_html_a7c3182cfabc0bdd9f3a14216fe0e8154"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7c3182cfabc0bdd9f3a14216fe0e8154.html#a7c3182cfabc0bdd9f3a14216fe0e8154">nlohmann::basic_json::operator=</a></div><div class="ttdeci">reference &amp; operator=(basic_json other) noexcept(                       std::is_nothrow_move_constructible&lt; value_t &gt;::value and                       std::is_nothrow_move_assignable&lt; value_t &gt;::value and                       std::is_nothrow_move_constructible&lt; json_value &gt;::value and                       std::is_nothrow_move_assignable&lt; json_value &gt;::value       )</div><div class="ttdoc">copy assignment </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02125">json.hpp:2125</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa_html_a848cbae3bd3502ffbf738320bf5eb3aa"><div class="ttname"><a href="classnlohmann_1_1basic__json_a848cbae3bd3502ffbf738320bf5eb3aa.html#a848cbae3bd3502ffbf738320bf5eb3aa">nlohmann::basic_json::type</a></div><div class="ttdeci">constexpr value_t type() const  noexcept</div><div class="ttdoc">return the type of the JSON value (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02272">json.hpp:2272</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343_html_a9ea0497199b1e96ce9cadd1f202ec343"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html#a9ea0497199b1e96ce9cadd1f202ec343">nlohmann::basic_json::const_iterator::value_type</a></div><div class="ttdeci">typename basic_json::value_type value_type</div><div class="ttdoc">the type of the values when the iterator is dereferenced </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06612">json.hpp:6612</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99_html_a86c97bbb8ebe19aef4656cf796e30e99"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a86c97bbb8ebe19aef4656cf796e30e99.html#a86c97bbb8ebe19aef4656cf796e30e99">nlohmann::basic_json::json_reverse_iterator::json_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator(const typename base_iterator::iterator_type &amp;it) noexcept</div><div class="ttdoc">create reverse iterator from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07375">json.hpp:7375</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445_html_a7ab11375ed2e29c2fcb6119386851445"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7ab11375ed2e29c2fcb6119386851445.html#a7ab11375ed2e29c2fcb6119386851445">nlohmann::basic_json::get_ptr</a></div><div class="ttdeci">PointerType get_ptr() noexcept</div><div class="ttdoc">get a pointer value (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03030">json.hpp:3030</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03_html_ab22c8d61eca51f0308c263487bd35f03"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab22c8d61eca51f0308c263487bd35f03.html#ab22c8d61eca51f0308c263487bd35f03">nlohmann::basic_json::is_string</a></div><div class="ttdeci">constexpr bool is_string() const  noexcept</div><div class="ttdoc">return whether value is a string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02554">json.hpp:2554</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5_html_a71b1d38ef402dfee58fba1fe01fa67f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5">nlohmann::basic_json::back</a></div><div class="ttdeci">reference back()</div><div class="ttdoc">access the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03923">json.hpp:3923</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70_html_a110eb65dc3e34e1cebd28a10218c6d70"><div class="ttname"><a href="classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(std::istream &amp;i, const parser_callback_t cb=nullptr)</div><div class="ttdoc">construct a JSON value given an input stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01979">json.hpp:1979</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071_html_af677a29b0e66edc9f66e5167e4667071"><div class="ttname"><a href="classnlohmann_1_1basic__json_af677a29b0e66edc9f66e5167e4667071.html#af677a29b0e66edc9f66e5167e4667071">nlohmann::basic_json::const_reference</a></div><div class="ttdeci">const value_type &amp; const_reference</div><div class="ttdoc">the type of an element const reference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00249">json.hpp:249</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389_html_a1da96fc3054d547e7706d3a2f073f389"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a1da96fc3054d547e7706d3a2f073f389.html#a1da96fc3054d547e7706d3a2f073f389">nlohmann::basic_json::const_iterator::pointer</a></div><div class="ttdeci">typename basic_json::const_pointer pointer</div><div class="ttdoc">defines a pointer to the type iterated over (value_type) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06616">json.hpp:6616</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5_html_a5212588544f6d2266384c3be9bfda0c5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5">nlohmann::basic_json::push_back</a></div><div class="ttdeci">void push_back(const typename object_t::value_type &amp;val)</div><div class="ttdoc">add an object to an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05034">json.hpp:5034</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43_html_a9c9b4932b26a9630e1a3f25ea42a2c43"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43">nlohmann::basic_json::push_back</a></div><div class="ttdeci">void push_back(std::initializer_list&lt; basic_json &gt; init)</div><div class="ttdoc">add an object to an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05089">json.hpp:5089</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835_html_ae12db117a2742d826465080979d7c835"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__pointer_ae12db117a2742d826465080979d7c835.html#ae12db117a2742d826465080979d7c835">nlohmann::basic_json::json_pointer::json_pointer</a></div><div class="ttdeci">json_pointer(const std::string &amp;s=&quot;&quot;)</div><div class="ttdoc">create JSON pointer </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09152">json.hpp:9152</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae_html_ad9cd312208273fb3fb2adf1f6d8d34ae"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad9cd312208273fb3fb2adf1f6d8d34ae.html#ad9cd312208273fb3fb2adf1f6d8d34ae">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">const_reference operator[](T *(&amp;key)[n]) const </div><div class="ttdoc">read-only access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03603">json.hpp:3603</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6_html_aeaa0644fd6b99af364e772092268dfd6"><div class="ttname"><a href="classnlohmann_1_1basic__json_aeaa0644fd6b99af364e772092268dfd6.html#aeaa0644fd6b99af364e772092268dfd6">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, const_iterator first, const_iterator last)</div><div class="ttdoc">inserts elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05241">json.hpp:5241</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e_html_ade0e56c8c320d7f342e7a5697e6d6f7e"><div class="ttname"><a href="classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(std::nullptr_t) noexcept</div><div class="ttdoc">create a null object (explicitly) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01110">json.hpp:1110</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c_html_af7acf3838a79363356f24538941a559c"><div class="ttname"><a href="classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(InputIT first, InputIT last)</div><div class="ttdoc">construct a JSON container given an iterator range </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01870">json.hpp:1870</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4_html_a7e01532727c10f87926dac4eb8e170f4"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a7e01532727c10f87926dac4eb8e170f4.html#a7e01532727c10f87926dac4eb8e170f4">nlohmann::basic_json::iterator::operator[]</a></div><div class="ttdeci">reference operator[](difference_type n) const </div><div class="ttdoc">access to successor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07336">json.hpp:7336</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793_html_a1a446a48beed4ea564addfd12d235793"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1a446a48beed4ea564addfd12d235793.html#a1a446a48beed4ea564addfd12d235793">nlohmann::basic_json::get_allocator</a></div><div class="ttdeci">static allocator_type get_allocator()</div><div class="ttdoc">returns the allocator associated with the container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00279">json.hpp:279</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1_html_a2e26bd0b0168abb61f67ad5bcd5b9fa1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a2e26bd0b0168abb61f67ad5bcd5b9fa1.html#a2e26bd0b0168abb61f67ad5bcd5b9fa1">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">const_reference operator[](const typename object_t::key_type &amp;key) const </div><div class="ttdoc">read-only access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03526">json.hpp:3526</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e_html_aa6fd72df1ce9f80e61012784c598456e"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa6fd72df1ce9f80e61012784c598456e.html#aa6fd72df1ce9f80e61012784c598456e">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">const_reference operator[](T *key) const </div><div class="ttdoc">read-only access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03685">json.hpp:3685</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1_html_a99ee137dab7e5c948457f6a5321b54b1"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a99ee137dab7e5c948457f6a5321b54b1.html#a99ee137dab7e5c948457f6a5321b54b1">nlohmann::basic_json::json_reverse_iterator::operator+</a></div><div class="ttdeci">json_reverse_iterator operator+(difference_type i) const </div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07418">json.hpp:7418</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859_html_a90239431815c94b0a334f7f4c55eb859"><div class="ttname"><a href="classnlohmann_1_1basic__json_a90239431815c94b0a334f7f4c55eb859.html#a90239431815c94b0a334f7f4c55eb859">nlohmann::basic_json::empty</a></div><div class="ttdeci">bool empty() const  noexcept</div><div class="ttdoc">checks whether the container is empty </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04682">json.hpp:4682</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b_html_a1579a8f72a230358d6cd1a6e8a62859b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1579a8f72a230358d6cd1a6e8a62859b.html#a1579a8f72a230358d6cd1a6e8a62859b">nlohmann::basic_json::size_type</a></div><div class="ttdeci">std::size_t size_type</div><div class="ttdoc">a type to represent container sizes </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00254">json.hpp:254</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955_html_acecae6d237fcf14c909fb42b9d2e2955"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_acecae6d237fcf14c909fb42b9d2e2955.html#acecae6d237fcf14c909fb42b9d2e2955">nlohmann::basic_json::json_reverse_iterator::key</a></div><div class="ttdeci">object_t::key_type key() const </div><div class="ttdoc">return the key of an object iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07446">json.hpp:7446</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603_html_a6b950c6bc081ac1ec1540ec05ceb2603"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a6b950c6bc081ac1ec1540ec05ceb2603.html#a6b950c6bc081ac1ec1540ec05ceb2603">nlohmann::basic_json::const_iterator::const_iterator</a></div><div class="ttdeci">const_iterator(const iterator &amp;other) noexcept</div><div class="ttdoc">copy constructor given a non-const iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06663">json.hpp:6663</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1_html_a81aaaab0f3b326afda2d226daab4f1e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleArrayType &amp;val)</div><div class="ttdoc">create an array (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01242">json.hpp:1242</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0_html_a8f7e67d903f918cd08261219fb47a9f0"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8f7e67d903f918cd08261219fb47a9f0.html#a8f7e67d903f918cd08261219fb47a9f0">nlohmann::basic_json::is_boolean</a></div><div class="ttdeci">constexpr bool is_boolean() const  noexcept</div><div class="ttdoc">return whether value is a boolean </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02373">json.hpp:2373</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be_html_ab31368c0b67f8e4f291a45e6498018be"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab31368c0b67f8e4f291a45e6498018be.html#ab31368c0b67f8e4f291a45e6498018be">nlohmann::basic_json::at</a></div><div class="ttdeci">const_reference at(size_type idx) const </div><div class="ttdoc">access specified array element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03250">json.hpp:3250</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52_html_a112a2d8e76345ea64f71e2985fee4c52"><div class="ttname"><a href="classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(size_type cnt, const basic_json &amp;val)</div><div class="ttdoc">construct an array with count copies of given value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01821">json.hpp:1821</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e_html_a9ebc4c99e6fc90c965af0f39ad2ca70e"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e">nlohmann::basic_json::json_reverse_iterator::base_iterator</a></div><div class="ttdeci">std::reverse_iterator&lt; Base &gt; base_iterator</div><div class="ttdoc">shortcut to the reverse iterator adaptor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07370">json.hpp:7370</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3_html_a43c08a393368eb674d0dcdbe301aafe3"><div class="ttname"><a href="classnlohmann_1_1basic__json_a43c08a393368eb674d0dcdbe301aafe3.html#a43c08a393368eb674d0dcdbe301aafe3">nlohmann::basic_json::crbegin</a></div><div class="ttdeci">const_reverse_iterator crbegin() const  noexcept</div><div class="ttdoc">returns a const reverse iterator to the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04572">json.hpp:4572</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13_html_aadb4e5be88221e5e28cdb752332f3d13"><div class="ttname"><a href="classnlohmann_1_1basic__json_aadb4e5be88221e5e28cdb752332f3d13.html#aadb4e5be88221e5e28cdb752332f3d13">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, std::initializer_list&lt; basic_json &gt; ilist)</div><div class="ttdoc">inserts elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05299">json.hpp:5299</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7_html_a9d1b58099dc64695fcf2847ab0b2a7c7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9d1b58099dc64695fcf2847ab0b2a7c7.html#a9d1b58099dc64695fcf2847ab0b2a7c7">nlohmann::basic_json::pointer</a></div><div class="ttdeci">typename std::allocator_traits&lt; allocator_type &gt;::pointer pointer</div><div class="ttdoc">the type of an element pointer </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00260">json.hpp:260</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b_html_a7f7bbb3a9efef2e2442f538a24c1c47b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7f7bbb3a9efef2e2442f538a24c1c47b.html#a7f7bbb3a9efef2e2442f538a24c1c47b">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, const basic_json &amp;val)</div><div class="ttdoc">inserts element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05134">json.hpp:5134</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453_html_a74a943800c7f103d0990d7eef82c6453"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a943800c7f103d0990d7eef82c6453.html#a74a943800c7f103d0990d7eef82c6453">nlohmann::basic_json::operator&gt;=</a></div><div class="ttdeci">friend bool operator&gt;=(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: greater than or equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05837">json.hpp:5837</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3_html_aacd442b66140c764c594ac8ad7dfd5b3"><div class="ttname"><a href="classnlohmann_1_1basic__json_aacd442b66140c764c594ac8ad7dfd5b3.html#aacd442b66140c764c594ac8ad7dfd5b3">nlohmann::basic_json::operator&lt;</a></div><div class="ttdeci">friend bool operator&lt;(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: less than </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05698">json.hpp:5698</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a_html_a050b7fa21051ea57e5b0cc03668b5d4a"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a050b7fa21051ea57e5b0cc03668b5d4a.html#a050b7fa21051ea57e5b0cc03668b5d4a">nlohmann::basic_json::iterator::operator++</a></div><div class="ttdeci">iterator &amp; operator++()</div><div class="ttdoc">pre-increment (++it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07278">json.hpp:7278</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3_html_a65f491b515e5967e9c0b40289e3c0ff3"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a65f491b515e5967e9c0b40289e3c0ff3.html#a65f491b515e5967e9c0b40289e3c0ff3">nlohmann::basic_json::const_iterator::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: smaller </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06995">json.hpp:6995</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9_html_a2943e49b3d88e6ee5793c5923ab2ede9"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a2943e49b3d88e6ee5793c5923ab2ede9.html#a2943e49b3d88e6ee5793c5923ab2ede9">nlohmann::basic_json::iterator::operator++</a></div><div class="ttdeci">iterator operator++(int)</div><div class="ttdoc">post-increment (it++) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07270">json.hpp:7270</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2_html_a73e150cbcba5643cb89de8f515eb64e2"><div class="ttname"><a href="classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(basic_json &amp;&amp;other) noexcept</div><div class="ttdoc">move constructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02088">json.hpp:2088</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64_html_a6cab1c2ed7e2a014980e2a5717f43a64"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a6cab1c2ed7e2a014980e2a5717f43a64.html#a6cab1c2ed7e2a014980e2a5717f43a64">nlohmann::basic_json::const_iterator::operator--</a></div><div class="ttdeci">const_iterator operator--(int)</div><div class="ttdoc">post-decrement (it–) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06910">json.hpp:6910</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074_html_a7ed92d56cb313b243c1917696ffdf074"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7ed92d56cb313b243c1917696ffdf074.html#a7ed92d56cb313b243c1917696ffdf074">nlohmann::basic_json::at</a></div><div class="ttdeci">reference at(const typename object_t::key_type &amp;key)</div><div class="ttdoc">access specified object element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03297">json.hpp:3297</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9_html_a3db892729714c4e7eaf60c00ee96e2e9"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a3db892729714c4e7eaf60c00ee96e2e9.html#a3db892729714c4e7eaf60c00ee96e2e9">nlohmann::basic_json::iterator::operator=</a></div><div class="ttdeci">iterator &amp; operator=(iterator other) noexcept(                                       std::is_nothrow_move_constructible&lt; pointer &gt;::value and                                       std::is_nothrow_move_assignable&lt; pointer &gt;::value and                                       std::is_nothrow_move_constructible&lt; internal_iterator &gt;::value and                                       std::is_nothrow_move_assignable&lt; internal_iterator &gt;::value                       )</div><div class="ttdoc">copy assignment </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07246">json.hpp:7246</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522aa8cfde6331bd59eb2ac96f8911c4b666">nlohmann::basic_json::value_t::object</a></div><div class="ttdoc">object (unordered set of name/value pairs) </div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a_html_ad5514a7435f246fc5335856465022a7a"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">nlohmann::basic_json::max_size</a></div><div class="ttdeci">size_type max_size() const  noexcept</div><div class="ttdoc">returns the maximum possible number of elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04573">json.hpp:4573</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831_html_a947b5b2a832e490858dbdddfe7085831"><div class="ttname"><a href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">nlohmann::basic_json::~basic_json</a></div><div class="ttdeci">~basic_json()</div><div class="ttdoc">destructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02028">json.hpp:2028</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f_html_ab4f238aa5fcf452b1884b748b0395b1f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html#ab4f238aa5fcf452b1884b748b0395b1f">nlohmann::basic_json::iterator::operator--</a></div><div class="ttdeci">iterator operator--(int)</div><div class="ttdoc">post-decrement (it–) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06967">json.hpp:6967</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c_html_a790f550ff168095c83c2e459c575916c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html#a790f550ff168095c83c2e459c575916c">nlohmann::basic_json::iterator::operator-</a></div><div class="ttdeci">iterator operator-(difference_type i)</div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07004">json.hpp:7004</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199_html_adeb2ff3fdf3cc301b72db109934c9199"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html#adeb2ff3fdf3cc301b72db109934c9199">nlohmann::basic_json::const_iterator::operator--</a></div><div class="ttdeci">const_iterator &amp; operator--()</div><div class="ttdoc">pre-decrement (–it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06645">json.hpp:6645</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40_html_a805e3f3a2f374da0e14942eec7400e40"><div class="ttname"><a href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">nlohmann::basic_json::dump</a></div><div class="ttdeci">string_t dump(const int indent=-1) const </div><div class="ttdoc">serialization </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02097">json.hpp:2097</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9_html_ac8d45b57874b4a6e9c07f7d3b5daa1f9"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">nlohmann::basic_json::value_type</a></div><div class="ttdeci">basic_json value_type</div><div class="ttdoc">the type of elements in a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00213">json.hpp:213</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a_html_a9e35475e2027520a78e09f460dbe048a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">nlohmann::basic_json::parser_callback_t</a></div><div class="ttdeci">std::function&lt; bool(int depth, parse_event_t event, basic_json &amp;parsed)&gt; parser_callback_t</div><div class="ttdoc">per-element parser callback type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00918">json.hpp:918</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d_html_aa44ce84b9ac506b905b8fb56c9a0989d"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">nlohmann::basic_json::allocator_type</a></div><div class="ttdeci">AllocatorType&lt; basic_json &gt; allocator_type</div><div class="ttdoc">the allocator type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00226">json.hpp:226</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42_html_ab63e618bbb0371042b1bec17f5891f42"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">nlohmann::basic_json::string_t</a></div><div class="ttdeci">StringType string_t</div><div class="ttdoc">a type for a string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00441">json.hpp:441</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc_html_a80c21170db6b5ffd9274b3f351cebadc"><div class="ttname"><a href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">nlohmann::basic_json::operator+=</a></div><div class="ttdeci">reference operator+=(const basic_json &amp;val)</div><div class="ttdoc">add an object to an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04768">json.hpp:4768</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2_html_aa0033766b4d3134b9bb57d81762d75a2"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">nlohmann::basic_json::operator+=</a></div><div class="ttdeci">reference operator+=(std::initializer_list&lt; basic_json &gt; init)</div><div class="ttdoc">add an object to an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04866">json.hpp:4866</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196_html_a5e4d98a8f95e2eccde8cd48c19efa196"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html#a5e4d98a8f95e2eccde8cd48c19efa196">nlohmann::basic_json::const_iterator::operator-</a></div><div class="ttdeci">difference_type operator-(const const_iterator &amp;other) const </div><div class="ttdoc">return difference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06808">json.hpp:6808</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3_html_a3ec8e17be8732fe436e9d6733f52b7a3"><div class="ttname"><a href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">nlohmann::basic_json::reference</a></div><div class="ttdeci">value_type &amp; reference</div><div class="ttdoc">the type of an element reference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00216">json.hpp:216</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8_html_a4635e8c6d5a4599f12a76368e325acd8"><div class="ttname"><a href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">nlohmann::basic_json::rbegin</a></div><div class="ttdeci">const_reverse_iterator rbegin() const  noexcept</div><div class="ttdoc">returns a const reverse iterator to the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04271">json.hpp:4271</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b_html_a34d6a60dd99e9f33b8273a1c8db5669b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">nlohmann::basic_json::operator&gt;&gt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&gt;&gt;(const basic_json &amp;j, std::ostream &amp;o)</div><div class="ttdoc">serialize to stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05675">json.hpp:5675</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99_html_a66c051561828b2c4eeaad896a72bec99"><div class="ttname"><a href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">nlohmann::basic_json::is_discarded</a></div><div class="ttdeci">constexpr bool is_discarded() const  noexcept</div><div class="ttdoc">return whether value is discarded </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02442">json.hpp:2442</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256_html_a86a477c16dac3bdd4929fee2db394256"><div class="ttname"><a href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">nlohmann::basic_json::begin</a></div><div class="ttdeci">const_iterator begin() const  noexcept</div><div class="ttdoc">returns a const iterator to the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04132">json.hpp:4132</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f_html_a9f3940ac5fb2c6ff8045ed59b8a0866f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html#a9f3940ac5fb2c6ff8045ed59b8a0866f">nlohmann::basic_json::iterator::operator-</a></div><div class="ttdeci">difference_type operator-(const iterator &amp;other) const </div><div class="ttdoc">return difference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07012">json.hpp:7012</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666_html_a1af360cb513cc32f28e80ddd0b9d7666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">nlohmann::basic_json::is_array</a></div><div class="ttdeci">constexpr bool is_array() const  noexcept</div><div class="ttdoc">return whether value is an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02393">json.hpp:2393</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335_html_a1de0975e812c83e74d118b3e1063f335"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html#a1de0975e812c83e74d118b3e1063f335">nlohmann::basic_json::iterator::iterator</a></div><div class="ttdeci">iterator(const iterator &amp;other) noexcept</div><div class="ttdoc">copy constructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06923">json.hpp:6923</a></div></div>
-<div class="ttc" id="namespacenlohmann_html"><div class="ttname"><a href="namespacenlohmann.html">nlohmann</a></div><div class="ttdoc">namespace for Niels Lohmann </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00067">json.hpp:67</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f_html_a49d7c3e9ef3280df03052cce988b792f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">nlohmann::basic_json::const_iterator::difference_type</a></div><div class="ttdeci">typename basic_json::difference_type difference_type</div><div class="ttdoc">a type to represent differences between iterators </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06372">json.hpp:6372</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7_html_a86089c703a2e563b9f760c2f8408efa7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">nlohmann::basic_json::swap</a></div><div class="ttdeci">void swap(string_t &amp;other)</div><div class="ttdoc">exchanges the values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05199">json.hpp:5199</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2_html_ad2eddc2c13ab084f067eaba65d381ad2"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleNumberIntegerType val) noexcept</div><div class="ttdoc">create an integer number (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01345">json.hpp:1345</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480_html_a8032645ce3109a7a4899badd90fa3480"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">nlohmann::basic_json::front</a></div><div class="ttdeci">const_reference front() const </div><div class="ttdoc">access the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03651">json.hpp:3651</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646_html_acb6cd0ff760933afeb7f93e5207f3646"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html#acb6cd0ff760933afeb7f93e5207f3646">nlohmann::basic_json::const_iterator::operator&gt;</a></div><div class="ttdeci">bool operator&gt;(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: greater than </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06746">json.hpp:6746</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda_html_aad65e0bc388897192bf361c24c1d6dda"><div class="ttname"><a href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">nlohmann::basic_json::get_ptr</a></div><div class="ttdeci">constexpr const PointerType get_ptr() const  noexcept</div><div class="ttdoc">get a pointer value (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02908">json.hpp:2908</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3_html_a8be837e4d902887676dd837abe9098d3"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html#a8be837e4d902887676dd837abe9098d3">nlohmann::basic_json::const_iterator::operator-&gt;</a></div><div class="ttdeci">pointer operator-&gt;() const </div><div class="ttdoc">dereference the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06565">json.hpp:6565</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__pointer_html"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__pointer.html">nlohmann::basic_json::json_pointer</a></div><div class="ttdoc">JSON Pointer. </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l08732">json.hpp:8732</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00679">json.hpp:679</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f_html_aae7eb3b91d7f68e86396c5c6b683445f"><div class="ttname"><a href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">nlohmann::basic_json::crend</a></div><div class="ttdeci">const_reverse_iterator crend() const  noexcept</div><div class="ttdoc">returns a const reverse iterator to one before the first </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04366">json.hpp:4366</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582_html_af77614992e38b355b9213940051cc582"><div class="ttname"><a href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">nlohmann::basic_json::swap</a></div><div class="ttdeci">void swap(reference other) noexcept(                       std::is_nothrow_move_constructible&lt; value_t &gt;::value and                       std::is_nothrow_move_assignable&lt; value_t &gt;::value and                       std::is_nothrow_move_constructible&lt; json_value &gt;::value and                       std::is_nothrow_move_assignable&lt; json_value &gt;::value       )</div><div class="ttdoc">exchanges the values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05100">json.hpp:5100</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">nlohmann::basic_json::value_t</a></div><div class="ttdeci">value_t</div><div class="ttdoc">the JSON type enumeration </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00698">json.hpp:698</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8_html_a62ccf5b9b3674aec2403fbc02da03db8"><div class="ttname"><a href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">nlohmann::basic_json::rbegin</a></div><div class="ttdeci">reverse_iterator rbegin() noexcept</div><div class="ttdoc">returns an iterator to the reverse-beginning </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04263">json.hpp:4263</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb_html_a685d9d6a8a45bfcb8455b147257cdffb"><div class="ttname"><a href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">nlohmann::basic_json::is_null</a></div><div class="ttdeci">constexpr bool is_null() const  noexcept</div><div class="ttdoc">return whether value is null </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02212">json.hpp:2212</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf_html_aec316934a555dd1acdd3600e5d4a4cdf"><div class="ttname"><a href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">nlohmann::basic_json::difference_type</a></div><div class="ttdeci">std::ptrdiff_t difference_type</div><div class="ttdoc">a type to represent differences between iterators </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00221">json.hpp:221</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437_html_a20bfb2ca6d4c421c74bb3e53328cd437"><div class="ttname"><a href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">nlohmann::basic_json::get</a></div><div class="ttdeci">ValueType get() const </div><div class="ttdoc">get a value (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02809">json.hpp:2809</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935_html_a8209621de6184d9eabe136b7c8f61935"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">nlohmann::basic_json::swap</a></div><div class="ttdeci">void swap(array_t &amp;other)</div><div class="ttdoc">exchanges the values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05131">json.hpp:5131</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7_html_a263a9ecde33a1f2ff63dcd15d5e42cb7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">nlohmann::basic_json::erase</a></div><div class="ttdeci">InteratorType erase(InteratorType first, InteratorType last)</div><div class="ttdoc">remove elements given an iterator range </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03861">json.hpp:3861</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0_html_a0a2cbbd95862a623e7dc5c37e67dead0"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">nlohmann::basic_json::value</a></div><div class="ttdeci">ValueType value(const typename object_t::key_type &amp;key, ValueType default_value) const </div><div class="ttdoc">access specified object element with default value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03588">json.hpp:3588</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3_html_a7265535f39299824f9712a2ca15013c3"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3">nlohmann::basic_json::json_reverse_iterator::reference</a></div><div class="ttdeci">typename Base::reference reference</div><div class="ttdoc">the reference type for the pointed-to element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07054">json.hpp:7054</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6_html_a098482190447461f47f80b99bf2519f6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">nlohmann::basic_json::back</a></div><div class="ttdeci">const_reference back() const </div><div class="ttdoc">access the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03695">json.hpp:3695</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f_html_a486b96adbf4886c38e38c952394a220f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">nlohmann::basic_json::push_back</a></div><div class="ttdeci">void push_back(basic_json &amp;&amp;val)</div><div class="ttdoc">add an object to an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04708">json.hpp:4708</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a_html_ad5514a7435f246fc5335856465022a7a"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad5514a7435f246fc5335856465022a7a.html#ad5514a7435f246fc5335856465022a7a">nlohmann::basic_json::max_size</a></div><div class="ttdeci">size_type max_size() const  noexcept</div><div class="ttdoc">returns the maximum possible number of elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04816">json.hpp:4816</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831_html_a947b5b2a832e490858dbdddfe7085831"><div class="ttname"><a href="classnlohmann_1_1basic__json_a947b5b2a832e490858dbdddfe7085831.html#a947b5b2a832e490858dbdddfe7085831">nlohmann::basic_json::~basic_json</a></div><div class="ttdeci">~basic_json()</div><div class="ttdoc">destructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02158">json.hpp:2158</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f_html_ab4f238aa5fcf452b1884b748b0395b1f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_ab4f238aa5fcf452b1884b748b0395b1f.html#ab4f238aa5fcf452b1884b748b0395b1f">nlohmann::basic_json::iterator::operator--</a></div><div class="ttdeci">iterator operator--(int)</div><div class="ttdoc">post-decrement (it–) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07285">json.hpp:7285</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c_html_a790f550ff168095c83c2e459c575916c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a790f550ff168095c83c2e459c575916c.html#a790f550ff168095c83c2e459c575916c">nlohmann::basic_json::iterator::operator-</a></div><div class="ttdeci">iterator operator-(difference_type i)</div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07322">json.hpp:7322</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736_html_a24bc3d5e7fc671a406cc521fbe58e736"><div class="ttname"><a href="classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736">nlohmann::basic_json::value</a></div><div class="ttdeci">string_t value(const json_pointer &amp;ptr, const char *default_value) const </div><div class="ttdoc">overload for a default value of type const char* </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03852">json.hpp:3852</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199_html_adeb2ff3fdf3cc301b72db109934c9199"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_adeb2ff3fdf3cc301b72db109934c9199.html#adeb2ff3fdf3cc301b72db109934c9199">nlohmann::basic_json::const_iterator::operator--</a></div><div class="ttdeci">const_iterator &amp; operator--()</div><div class="ttdoc">pre-decrement (–it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06921">json.hpp:6921</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40_html_a805e3f3a2f374da0e14942eec7400e40"><div class="ttname"><a href="classnlohmann_1_1basic__json_a805e3f3a2f374da0e14942eec7400e40.html#a805e3f3a2f374da0e14942eec7400e40">nlohmann::basic_json::dump</a></div><div class="ttdeci">string_t dump(const int indent=-1) const </div><div class="ttdoc">serialization </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02230">json.hpp:2230</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9_html_ac8d45b57874b4a6e9c07f7d3b5daa1f9"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9">nlohmann::basic_json::value_type</a></div><div class="ttdeci">basic_json value_type</div><div class="ttdoc">the type of elements in a basic_json container </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00244">json.hpp:244</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a_html_a9e35475e2027520a78e09f460dbe048a"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a">nlohmann::basic_json::parser_callback_t</a></div><div class="ttdeci">std::function&lt; bool(int depth, parse_event_t event, basic_json &amp;parsed)&gt; parser_callback_t</div><div class="ttdoc">per-element parser callback type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01002">json.hpp:1002</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d_html_aa44ce84b9ac506b905b8fb56c9a0989d"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa44ce84b9ac506b905b8fb56c9a0989d.html#aa44ce84b9ac506b905b8fb56c9a0989d">nlohmann::basic_json::allocator_type</a></div><div class="ttdeci">AllocatorType&lt; basic_json &gt; allocator_type</div><div class="ttdoc">the allocator type </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00257">json.hpp:257</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42_html_ab63e618bbb0371042b1bec17f5891f42"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab63e618bbb0371042b1bec17f5891f42.html#ab63e618bbb0371042b1bec17f5891f42">nlohmann::basic_json::string_t</a></div><div class="ttdeci">StringType string_t</div><div class="ttdoc">a type for a string </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00474">json.hpp:474</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc_html_a80c21170db6b5ffd9274b3f351cebadc"><div class="ttname"><a href="classnlohmann_1_1basic__json_a80c21170db6b5ffd9274b3f351cebadc.html#a80c21170db6b5ffd9274b3f351cebadc">nlohmann::basic_json::operator+=</a></div><div class="ttdeci">reference operator+=(const basic_json &amp;val)</div><div class="ttdoc">add an object to an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05008">json.hpp:5008</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2_html_aa0033766b4d3134b9bb57d81762d75a2"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa0033766b4d3134b9bb57d81762d75a2.html#aa0033766b4d3134b9bb57d81762d75a2">nlohmann::basic_json::operator+=</a></div><div class="ttdeci">reference operator+=(std::initializer_list&lt; basic_json &gt; init)</div><div class="ttdoc">add an object to an object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05106">json.hpp:5106</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196_html_a5e4d98a8f95e2eccde8cd48c19efa196"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a5e4d98a8f95e2eccde8cd48c19efa196.html#a5e4d98a8f95e2eccde8cd48c19efa196">nlohmann::basic_json::const_iterator::operator-</a></div><div class="ttdeci">difference_type operator-(const const_iterator &amp;other) const </div><div class="ttdoc">return difference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07117">json.hpp:7117</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3_html_a3ec8e17be8732fe436e9d6733f52b7a3"><div class="ttname"><a href="classnlohmann_1_1basic__json_a3ec8e17be8732fe436e9d6733f52b7a3.html#a3ec8e17be8732fe436e9d6733f52b7a3">nlohmann::basic_json::reference</a></div><div class="ttdeci">value_type &amp; reference</div><div class="ttdoc">the type of an element reference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00247">json.hpp:247</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8_html_a4635e8c6d5a4599f12a76368e325acd8"><div class="ttname"><a href="classnlohmann_1_1basic__json_a4635e8c6d5a4599f12a76368e325acd8.html#a4635e8c6d5a4599f12a76368e325acd8">nlohmann::basic_json::rbegin</a></div><div class="ttdeci">const_reverse_iterator rbegin() const  noexcept</div><div class="ttdoc">returns a const reverse iterator to the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04506">json.hpp:4506</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b_html_a34d6a60dd99e9f33b8273a1c8db5669b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b">nlohmann::basic_json::operator&gt;&gt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&gt;&gt;(const basic_json &amp;j, std::ostream &amp;o)</div><div class="ttdoc">serialize to stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05910">json.hpp:5910</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99_html_a66c051561828b2c4eeaad896a72bec99"><div class="ttname"><a href="classnlohmann_1_1basic__json_a66c051561828b2c4eeaad896a72bec99.html#a66c051561828b2c4eeaad896a72bec99">nlohmann::basic_json::is_discarded</a></div><div class="ttdeci">constexpr bool is_discarded() const  noexcept</div><div class="ttdoc">return whether value is discarded </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02581">json.hpp:2581</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256_html_a86a477c16dac3bdd4929fee2db394256"><div class="ttname"><a href="classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256">nlohmann::basic_json::begin</a></div><div class="ttdeci">const_iterator begin() const  noexcept</div><div class="ttdoc">returns a const iterator to the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04367">json.hpp:4367</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f_html_a9f3940ac5fb2c6ff8045ed59b8a0866f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a9f3940ac5fb2c6ff8045ed59b8a0866f.html#a9f3940ac5fb2c6ff8045ed59b8a0866f">nlohmann::basic_json::iterator::operator-</a></div><div class="ttdeci">difference_type operator-(const iterator &amp;other) const </div><div class="ttdoc">return difference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07330">json.hpp:7330</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666_html_a1af360cb513cc32f28e80ddd0b9d7666"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1af360cb513cc32f28e80ddd0b9d7666.html#a1af360cb513cc32f28e80ddd0b9d7666">nlohmann::basic_json::is_array</a></div><div class="ttdeci">constexpr bool is_array() const  noexcept</div><div class="ttdoc">return whether value is an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02532">json.hpp:2532</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335_html_a1de0975e812c83e74d118b3e1063f335"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a1de0975e812c83e74d118b3e1063f335.html#a1de0975e812c83e74d118b3e1063f335">nlohmann::basic_json::iterator::iterator</a></div><div class="ttdeci">iterator(const iterator &amp;other) noexcept</div><div class="ttdoc">copy constructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07241">json.hpp:7241</a></div></div>
+<div class="ttc" id="namespacenlohmann_html"><div class="ttname"><a href="namespacenlohmann.html">nlohmann</a></div><div class="ttdoc">namespace for Niels Lohmann </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00081">json.hpp:81</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f_html_a49d7c3e9ef3280df03052cce988b792f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a49d7c3e9ef3280df03052cce988b792f.html#a49d7c3e9ef3280df03052cce988b792f">nlohmann::basic_json::const_iterator::difference_type</a></div><div class="ttdeci">typename basic_json::difference_type difference_type</div><div class="ttdoc">a type to represent differences between iterators </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06614">json.hpp:6614</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7_html_a86089c703a2e563b9f760c2f8408efa7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a86089c703a2e563b9f760c2f8408efa7.html#a86089c703a2e563b9f760c2f8408efa7">nlohmann::basic_json::swap</a></div><div class="ttdeci">void swap(string_t &amp;other)</div><div class="ttdoc">exchanges the values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05434">json.hpp:5434</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2_html_ad2eddc2c13ab084f067eaba65d381ad2"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleNumberIntegerType val) noexcept</div><div class="ttdoc">create an integer number (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01456">json.hpp:1456</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480_html_a8032645ce3109a7a4899badd90fa3480"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8032645ce3109a7a4899badd90fa3480.html#a8032645ce3109a7a4899badd90fa3480">nlohmann::basic_json::front</a></div><div class="ttdeci">const_reference front() const </div><div class="ttdoc">access the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03889">json.hpp:3889</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646_html_acb6cd0ff760933afeb7f93e5207f3646"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_acb6cd0ff760933afeb7f93e5207f3646.html#acb6cd0ff760933afeb7f93e5207f3646">nlohmann::basic_json::const_iterator::operator&gt;</a></div><div class="ttdeci">bool operator&gt;(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: greater than </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07037">json.hpp:7037</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda_html_aad65e0bc388897192bf361c24c1d6dda"><div class="ttname"><a href="classnlohmann_1_1basic__json_aad65e0bc388897192bf361c24c1d6dda.html#aad65e0bc388897192bf361c24c1d6dda">nlohmann::basic_json::get_ptr</a></div><div class="ttdeci">constexpr const PointerType get_ptr() const  noexcept</div><div class="ttdoc">get a pointer value (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03060">json.hpp:3060</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3_html_a8be837e4d902887676dd837abe9098d3"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a8be837e4d902887676dd837abe9098d3.html#a8be837e4d902887676dd837abe9098d3">nlohmann::basic_json::const_iterator::operator-&gt;</a></div><div class="ttdeci">pointer operator-&gt;() const </div><div class="ttdoc">dereference the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06831">json.hpp:6831</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__pointer_html"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__pointer.html">nlohmann::basic_json::json_pointer</a></div><div class="ttdoc">JSON Pointer. </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l09124">json.hpp:9124</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1_html_a74a0013e847fdc574b48f931f0e757e1"><div class="ttname"><a href="classnlohmann_1_1basic__json_a74a0013e847fdc574b48f931f0e757e1.html#a74a0013e847fdc574b48f931f0e757e1">nlohmann::basic_json::number_float_t</a></div><div class="ttdeci">NumberFloatType number_float_t</div><div class="ttdoc">a type for a number (floating-point) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00711">json.hpp:711</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f_html_aae7eb3b91d7f68e86396c5c6b683445f"><div class="ttname"><a href="classnlohmann_1_1basic__json_aae7eb3b91d7f68e86396c5c6b683445f.html#aae7eb3b91d7f68e86396c5c6b683445f">nlohmann::basic_json::crend</a></div><div class="ttdeci">const_reverse_iterator crend() const  noexcept</div><div class="ttdoc">returns a const reverse iterator to one before the first </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04601">json.hpp:4601</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582_html_af77614992e38b355b9213940051cc582"><div class="ttname"><a href="classnlohmann_1_1basic__json_af77614992e38b355b9213940051cc582.html#af77614992e38b355b9213940051cc582">nlohmann::basic_json::swap</a></div><div class="ttdeci">void swap(reference other) noexcept(                       std::is_nothrow_move_constructible&lt; value_t &gt;::value and                       std::is_nothrow_move_assignable&lt; value_t &gt;::value and                       std::is_nothrow_move_constructible&lt; json_value &gt;::value and                       std::is_nothrow_move_assignable&lt; json_value &gt;::value       )</div><div class="ttdoc">exchanges the values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05336">json.hpp:5336</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522">nlohmann::basic_json::value_t</a></div><div class="ttdeci">value_t</div><div class="ttdoc">the JSON type enumeration </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00742">json.hpp:742</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8_html_a62ccf5b9b3674aec2403fbc02da03db8"><div class="ttname"><a href="classnlohmann_1_1basic__json_a62ccf5b9b3674aec2403fbc02da03db8.html#a62ccf5b9b3674aec2403fbc02da03db8">nlohmann::basic_json::rbegin</a></div><div class="ttdeci">reverse_iterator rbegin() noexcept</div><div class="ttdoc">returns an iterator to the reverse-beginning </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04498">json.hpp:4498</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb_html_a685d9d6a8a45bfcb8455b147257cdffb"><div class="ttname"><a href="classnlohmann_1_1basic__json_a685d9d6a8a45bfcb8455b147257cdffb.html#a685d9d6a8a45bfcb8455b147257cdffb">nlohmann::basic_json::is_null</a></div><div class="ttdeci">constexpr bool is_null() const  noexcept</div><div class="ttdoc">return whether value is null </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02351">json.hpp:2351</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf_html_aec316934a555dd1acdd3600e5d4a4cdf"><div class="ttname"><a href="classnlohmann_1_1basic__json_aec316934a555dd1acdd3600e5d4a4cdf.html#aec316934a555dd1acdd3600e5d4a4cdf">nlohmann::basic_json::difference_type</a></div><div class="ttdeci">std::ptrdiff_t difference_type</div><div class="ttdoc">a type to represent differences between iterators </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00252">json.hpp:252</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437_html_a20bfb2ca6d4c421c74bb3e53328cd437"><div class="ttname"><a href="classnlohmann_1_1basic__json_a20bfb2ca6d4c421c74bb3e53328cd437.html#a20bfb2ca6d4c421c74bb3e53328cd437">nlohmann::basic_json::get</a></div><div class="ttdeci">ValueType get() const </div><div class="ttdoc">get a value (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02944">json.hpp:2944</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935_html_a8209621de6184d9eabe136b7c8f61935"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8209621de6184d9eabe136b7c8f61935.html#a8209621de6184d9eabe136b7c8f61935">nlohmann::basic_json::swap</a></div><div class="ttdeci">void swap(array_t &amp;other)</div><div class="ttdoc">exchanges the values </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05368">json.hpp:5368</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7_html_a263a9ecde33a1f2ff63dcd15d5e42cb7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a263a9ecde33a1f2ff63dcd15d5e42cb7.html#a263a9ecde33a1f2ff63dcd15d5e42cb7">nlohmann::basic_json::erase</a></div><div class="ttdeci">InteratorType erase(InteratorType first, InteratorType last)</div><div class="ttdoc">remove elements given an iterator range </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04100">json.hpp:4100</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0_html_a0a2cbbd95862a623e7dc5c37e67dead0"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0">nlohmann::basic_json::value</a></div><div class="ttdeci">ValueType value(const typename object_t::key_type &amp;key, ValueType default_value) const </div><div class="ttdoc">access specified object element with default value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03751">json.hpp:3751</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3_html_a7265535f39299824f9712a2ca15013c3"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a7265535f39299824f9712a2ca15013c3.html#a7265535f39299824f9712a2ca15013c3">nlohmann::basic_json::json_reverse_iterator::reference</a></div><div class="ttdeci">typename Base::reference reference</div><div class="ttdoc">the reference type for the pointed-to element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07372">json.hpp:7372</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6_html_a098482190447461f47f80b99bf2519f6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6">nlohmann::basic_json::back</a></div><div class="ttdeci">const_reference back() const </div><div class="ttdoc">access the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03933">json.hpp:3933</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f_html_a486b96adbf4886c38e38c952394a220f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f">nlohmann::basic_json::push_back</a></div><div class="ttdeci">void push_back(basic_json &amp;&amp;val)</div><div class="ttdoc">add an object to an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04948">json.hpp:4948</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522af1f713c9e000f5d3f280adbd124df4f5">nlohmann::basic_json::value_t::array</a></div><div class="ttdoc">array (ordered collection of values) </div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5_html_a693b411d9c5ad0d168a0013cfb80b8e5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">nlohmann::basic_json::is_number_unsigned</a></div><div class="ttdeci">constexpr bool is_number_unsigned() const  noexcept</div><div class="ttdoc">return whether value is an unsigned integer number </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02321">json.hpp:2321</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0_html_a4aede52d6ee253a510897518b59e09c0"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html#a4aede52d6ee253a510897518b59e09c0">nlohmann::basic_json::json_reverse_iterator::operator++</a></div><div class="ttdeci">json_reverse_iterator &amp; operator++()</div><div class="ttdoc">pre-increment (++it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07073">json.hpp:7073</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff_html_a13c4d2ab4e7ee2f92be785a7b12948ff"><div class="ttname"><a href="classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff">nlohmann::basic_json::parse</a></div><div class="ttdeci">static basic_json parse(std::istream &amp;i, parser_callback_t cb=nullptr)</div><div class="ttdoc">deserialize from stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05743">json.hpp:5743</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e_html_a122640e7e2db1814fc7bbb3c122ec76e"><div class="ttname"><a href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">nlohmann::basic_json::operator==</a></div><div class="ttdeci">friend bool operator==(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05280">json.hpp:5280</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42_html_af071057ebab57744f5767eb369e99d42"><div class="ttname"><a href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">nlohmann::basic_json::value</a></div><div class="ttdeci">string_t value(const typename object_t::key_type &amp;key, const char *default_value) const </div><div class="ttdoc">overload for a default value of type const char* </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03614">json.hpp:3614</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b_html_aa669d997ddc03566de5438781254b32b"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">nlohmann::basic_json::get_ref</a></div><div class="ttdeci">ReferenceType get_ref() const </div><div class="ttdoc">get a reference value (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02959">json.hpp:2959</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834_html_a68a5f34b164a07b8ced13fcf2b7ec834"><div class="ttname"><a href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleNumberUnsignedType val) noexcept</div><div class="ttdoc">create an unsigned number (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01404">json.hpp:1404</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d_html_ab3029a1a83cf46dc28ad443bbad0c74d"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html#ab3029a1a83cf46dc28ad443bbad0c74d">nlohmann::basic_json::const_iterator::operator*</a></div><div class="ttdeci">reference operator*() const </div><div class="ttdoc">return a reference to the value pointed to by the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06525">json.hpp:6525</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5_html_a693b411d9c5ad0d168a0013cfb80b8e5"><div class="ttname"><a href="classnlohmann_1_1basic__json_a693b411d9c5ad0d168a0013cfb80b8e5.html#a693b411d9c5ad0d168a0013cfb80b8e5">nlohmann::basic_json::is_number_unsigned</a></div><div class="ttdeci">constexpr bool is_number_unsigned() const  noexcept</div><div class="ttdoc">return whether value is an unsigned integer number </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02460">json.hpp:2460</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0_html_a4aede52d6ee253a510897518b59e09c0"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a4aede52d6ee253a510897518b59e09c0.html#a4aede52d6ee253a510897518b59e09c0">nlohmann::basic_json::json_reverse_iterator::operator++</a></div><div class="ttdeci">json_reverse_iterator &amp; operator++()</div><div class="ttdoc">pre-increment (++it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07391">json.hpp:7391</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e_html_a122640e7e2db1814fc7bbb3c122ec76e"><div class="ttname"><a href="classnlohmann_1_1basic__json_a122640e7e2db1814fc7bbb3c122ec76e.html#a122640e7e2db1814fc7bbb3c122ec76e">nlohmann::basic_json::operator==</a></div><div class="ttdeci">friend bool operator==(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05514">json.hpp:5514</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d_html_a0923f9749409345a21f8cb15ee95fc0d"><div class="ttname"><a href="classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d">nlohmann::basic_json::parse</a></div><div class="ttdeci">static basic_json parse(std::istream &amp;i, const parser_callback_t cb=nullptr)</div><div class="ttdoc">deserialize from stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05979">json.hpp:5979</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42_html_af071057ebab57744f5767eb369e99d42"><div class="ttname"><a href="classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42">nlohmann::basic_json::value</a></div><div class="ttdeci">string_t value(const typename object_t::key_type &amp;key, const char *default_value) const </div><div class="ttdoc">overload for a default value of type const char* </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03777">json.hpp:3777</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b_html_aa669d997ddc03566de5438781254b32b"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa669d997ddc03566de5438781254b32b.html#aa669d997ddc03566de5438781254b32b">nlohmann::basic_json::get_ref</a></div><div class="ttdeci">ReferenceType get_ref() const </div><div class="ttdoc">get a reference value (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03126">json.hpp:3126</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834_html_a68a5f34b164a07b8ced13fcf2b7ec834"><div class="ttname"><a href="classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleNumberUnsignedType val) noexcept</div><div class="ttdoc">create an unsigned number (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01519">json.hpp:1519</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d_html_ab3029a1a83cf46dc28ad443bbad0c74d"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_ab3029a1a83cf46dc28ad443bbad0c74d.html#ab3029a1a83cf46dc28ad443bbad0c74d">nlohmann::basic_json::const_iterator::operator*</a></div><div class="ttdeci">reference operator*() const </div><div class="ttdoc">return a reference to the value pointed to by the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06790">json.hpp:6790</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d_html_a5010579996e483e46bec5653d983914d"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d">nlohmann::basic_json::value</a></div><div class="ttdeci">ValueType value(const json_pointer &amp;ptr, ValueType default_value) const </div><div class="ttdoc">access specified object element via JSON Pointer with default value </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03827">json.hpp:3827</a></div></div>
 <div class="ttc" id="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522_html_a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd"><div class="ttname"><a href="classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a37a6259cc0c1dae299a7866489dff0bd">nlohmann::basic_json::value_t::null</a></div><div class="ttdoc">null value </div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7_html_a24d7df0b5b41319dbab2713d3641faf7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">nlohmann::basic_json::operator&lt;</a></div><div class="ttdeci">friend bool operator&lt;(const value_t lhs, const value_t rhs) noexcept</div><div class="ttdoc">comparison operator for JSON types </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05233">json.hpp:5233</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f_html_a2badcf191deabf579abcf8d3654da26f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const number_float_t val) noexcept</div><div class="ttdoc">create a floating-point number (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01433">json.hpp:1433</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf_html_ae347859ec88176ef76a0cbe5b4514fcf"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">nlohmann::basic_json::operator!=</a></div><div class="ttdeci">friend bool operator!=(const_reference v, std::nullptr_t) noexcept</div><div class="ttdoc">comparison: not equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05432">json.hpp:5432</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36_html_a56952f8d5702541f0d88e6a764d2ae36"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html#a56952f8d5702541f0d88e6a764d2ae36">nlohmann::basic_json::iterator::operator+</a></div><div class="ttdeci">iterator operator+(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06996">json.hpp:6996</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe_html_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe"><div class="ttname"><a href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleNumberFloatType val) noexcept</div><div class="ttdoc">create an floating-point number (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01480">json.hpp:1480</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902_html_a6b682f09787eff62f03493d45aa05902"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html#a6b682f09787eff62f03493d45aa05902">nlohmann::basic_json::const_iterator::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: less than or equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06740">json.hpp:6740</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45_html_a45e789042a23138eba2b69f34df9fc45"><div class="ttname"><a href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">nlohmann::basic_json::erase</a></div><div class="ttdeci">InteratorType erase(InteratorType pos)</div><div class="ttdoc">remove element given an iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03753">json.hpp:3753</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb_html_afeb998aec45296bc2050bd1c41ef41eb"><div class="ttname"><a href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(std::initializer_list&lt; basic_json &gt; init, bool type_deduction=true, value_t manual_type=value_t::array)</div><div class="ttdoc">create a container (array or object) from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01553">json.hpp:1553</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d_html_a085fe0d8cf459b5b1ae7b518b933ae7d"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html#a085fe0d8cf459b5b1ae7b518b933ae7d">nlohmann::basic_json::iterator::iterator</a></div><div class="ttdeci">iterator(pointer object) noexcept</div><div class="ttdoc">constructor for a given JSON instance </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06918">json.hpp:6918</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4_html_a7f97a91ad8f1d5cf0b9213bd24f247c4"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">nlohmann::basic_json::operator!=</a></div><div class="ttdeci">friend bool operator!=(std::nullptr_t, const_reference v) noexcept</div><div class="ttdoc">comparison: not equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05441">json.hpp:5441</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488_html_a7c774ef0eceff6d06095f617e2dbd488"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">nlohmann::basic_json::is_primitive</a></div><div class="ttdeci">constexpr bool is_primitive() const  noexcept</div><div class="ttdoc">return whether type is primitive </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02163">json.hpp:2163</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e_html_a8fbb15efd97599209a7def77af8e748e"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html#a8fbb15efd97599209a7def77af8e748e">nlohmann::basic_json::const_iterator::operator++</a></div><div class="ttdeci">const_iterator &amp; operator++()</div><div class="ttdoc">pre-increment (++it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06608">json.hpp:6608</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017_html_a8de46badb5b2177c85c672a71bcca017"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html#a8de46badb5b2177c85c672a71bcca017">nlohmann::basic_json::iterator::operator-&gt;</a></div><div class="ttdeci">pointer operator-&gt;() const </div><div class="ttdoc">dereference the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06946">json.hpp:6946</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd_html_ac75e80d30b6169ee2a29ec93fb4d2acd"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd">nlohmann::basic_json::const_iterator::value</a></div><div class="ttdeci">reference value() const </div><div class="ttdoc">return the value of an iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06883">json.hpp:6883</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8_html_a558b345044c38a9f6ad522592cc700c8"><div class="ttname"><a href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">nlohmann::basic_json::is_structured</a></div><div class="ttdeci">constexpr bool is_structured() const  noexcept</div><div class="ttdoc">return whether type is structured </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02190">json.hpp:2190</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f_html_a821560d64f50525162097f19b1392e7f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html#a821560d64f50525162097f19b1392e7f">nlohmann::basic_json::const_iterator::iterator_category</a></div><div class="ttdeci">std::bidirectional_iterator_tag iterator_category</div><div class="ttdoc">the category of the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06378">json.hpp:6378</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a_html_aac36af84d907b5c3e469af889661620a"><div class="ttname"><a href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(boolean_t val) noexcept</div><div class="ttdoc">create a boolean (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01246">json.hpp:1246</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b_html_a12ccf14d39ddae52f6c7e126105a230b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">nlohmann::basic_json::end</a></div><div class="ttdeci">iterator end() noexcept</div><div class="ttdoc">returns an iterator to one past the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04193">json.hpp:4193</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707_html_aaa160a960dd3dd90856a72b1d8dbe707"><div class="ttname"><a href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">nlohmann::basic_json::rend</a></div><div class="ttdeci">reverse_iterator rend() noexcept</div><div class="ttdoc">returns an iterator to the reverse-end </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04300">json.hpp:4300</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc_html_a115fae3dd8ae02669fedae0545ce1cbc"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html#a115fae3dd8ae02669fedae0545ce1cbc">nlohmann::basic_json::json_reverse_iterator::operator-</a></div><div class="ttdeci">difference_type operator-(const json_reverse_iterator &amp;other) const </div><div class="ttdoc">return difference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07116">json.hpp:7116</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e_html_aaa687595d7627925fbf6d6eb97e2021e"><div class="ttname"><a href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">nlohmann::basic_json::find</a></div><div class="ttdeci">const_iterator find(typename object_t::key_type key) const </div><div class="ttdoc">find an element in a JSON object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04050">json.hpp:4050</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1_html_ad4e381c54039607be08d7af41a1f6ad1"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">nlohmann::basic_json::begin</a></div><div class="ttdeci">iterator begin() noexcept</div><div class="ttdoc">returns an iterator to the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04122">json.hpp:4122</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8_html_ab7be2bc58ae0c2c2c30d40f15d6399f8"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleObjectType &amp;val)</div><div class="ttdoc">create an object (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01077">json.hpp:1077</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819_html_a68f0a8c4618d57523384ec7ecd2f5819"><div class="ttname"><a href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">nlohmann::basic_json::end</a></div><div class="ttdeci">const_iterator end() const  noexcept</div><div class="ttdoc">returns a const iterator to one past the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04203">json.hpp:4203</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8_html_a87db51b6b936fb2ea293cdbc8702dcb8"><div class="ttname"><a href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">nlohmann::basic_json::operator&gt;</a></div><div class="ttdeci">friend bool operator&gt;(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: greater than </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05593">json.hpp:5593</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201_html_af6941c3711dabb2e64960dd57e00d201"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html#af6941c3711dabb2e64960dd57e00d201">nlohmann::basic_json::const_iterator::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: greater than or equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06752">json.hpp:6752</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b_html_a5521515067b6597cb0b55a9c547a7a2b"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html#a5521515067b6597cb0b55a9c547a7a2b">nlohmann::basic_json::const_iterator::operator=</a></div><div class="ttdeci">const_iterator &amp; operator=(const_iterator other) noexcept(                                       std::is_nothrow_move_constructible&lt; pointer &gt;::value and                                       std::is_nothrow_move_assignable&lt; pointer &gt;::value and                                       std::is_nothrow_move_constructible&lt; internal_iterator &gt;::value and                                       std::is_nothrow_move_assignable&lt; internal_iterator &gt;::value                       )</div><div class="ttdoc">copy assignment </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06445">json.hpp:6445</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3_html_aa36e72ffc3241b960fe9186d19e03bc3"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">nlohmann::basic_json::erase</a></div><div class="ttdeci">size_type erase(const typename object_t::key_type &amp;key)</div><div class="ttdoc">remove element from a JSON object given a key </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03948">json.hpp:3948</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034_html_a92fbb711a36b5ce78ee228b26787c034"><div class="ttname"><a href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">reference operator[](const typename object_t::key_type &amp;key)</div><div class="ttdoc">access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03313">json.hpp:3313</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0_html_a5d4320e24fcb7df041ff2c95d976dba0"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html#a5d4320e24fcb7df041ff2c95d976dba0">nlohmann::basic_json::const_iterator::key</a></div><div class="ttdeci">object_t::key_type key() const </div><div class="ttdoc">return the key of an object iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06868">json.hpp:6868</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41_html_a1c1aa2d148a3e4ce0d4e50cf5b894f41"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">nlohmann::basic_json::operator+=</a></div><div class="ttdeci">reference operator+=(basic_json &amp;&amp;val)</div><div class="ttdoc">add an object to an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04734">json.hpp:4734</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa_html_a7bd530bfbbc58ac77308c087120c21fa"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html#a7bd530bfbbc58ac77308c087120c21fa">nlohmann::basic_json::const_iterator::operator[]</a></div><div class="ttdeci">reference operator[](difference_type n) const </div><div class="ttdoc">access to successor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06832">json.hpp:6832</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_html"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator.html">nlohmann::basic_json::const_iterator</a></div><div class="ttdoc">a const random access iterator for the basic_json class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06363">json.hpp:6363</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649_html_a1407f91b4689bbc56d1a3c401a5bb649"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">nlohmann::basic_json::is_number</a></div><div class="ttdeci">constexpr bool is_number() const  noexcept</div><div class="ttdoc">return whether value is a number </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02264">json.hpp:2264</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_html"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">nlohmann::basic_json::json_reverse_iterator</a></div><div class="ttdoc">a template for a reverse iterator class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00202">json.hpp:202</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208_html_a9857835334d38ba04959e348ca6be208"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(std::istream &amp;i, parser_callback_t cb=nullptr)</div><div class="ttdoc">construct a JSON value given an input stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01862">json.hpp:1862</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2_html_aefd248cac6493eed1e6ff53ba6a63eb2"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">nlohmann::basic_json::const_iterator::reference</a></div><div class="ttdeci">typename basic_json::const_reference reference</div><div class="ttdoc">defines a reference to the type iterated over (value_type) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06376">json.hpp:6376</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28_html_a545a8204cfd6836eb85abc3113a0bb28"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html#a545a8204cfd6836eb85abc3113a0bb28">nlohmann::basic_json::json_reverse_iterator::operator++</a></div><div class="ttdeci">json_reverse_iterator operator++(int)</div><div class="ttdoc">post-increment (it++) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07067">json.hpp:7067</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7_html_a9730b9f7bc2150e641fe20198d4477c7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">nlohmann::basic_json::operator==</a></div><div class="ttdeci">friend bool operator==(const_reference v, std::nullptr_t) noexcept</div><div class="ttdoc">comparison: equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05379">json.hpp:5379</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159_html_a59732a1de287a7301cca19a7a7748159"><div class="ttname"><a href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">reference operator[](size_type idx)</div><div class="ttdoc">access specified array element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03226">json.hpp:3226</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca_html_a9e4c6e48e3c2f3ff357ef8215b8c8fca"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html#a9e4c6e48e3c2f3ff357ef8215b8c8fca">nlohmann::basic_json::const_iterator::operator!=</a></div><div class="ttdeci">bool operator!=(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: not equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06704">json.hpp:6704</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0_html_a9accc9dd9f9033f50c0ab6bcf337ffe0"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html#a9accc9dd9f9033f50c0ab6bcf337ffe0">nlohmann::basic_json::json_reverse_iterator::operator+=</a></div><div class="ttdeci">json_reverse_iterator &amp; operator+=(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07093">json.hpp:7093</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9_html_a214a8c22d616fd3567b88932c07436c9"><div class="ttname"><a href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">nlohmann::basic_json::at</a></div><div class="ttdeci">reference at(size_type idx)</div><div class="ttdoc">access specified array element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03039">json.hpp:3039</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49_html_a01833b332b68d9af1f7cd7a816c39e49"><div class="ttname"><a href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">nlohmann::basic_json::size</a></div><div class="ttdeci">size_type size() const  noexcept</div><div class="ttdoc">returns the number of elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04507">json.hpp:4507</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5_html_ab936779c70bec68343ef440ed13251e5"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">nlohmann::basic_json::iterator_wrapper</a></div><div class="ttdeci">static iteration_proxy&lt; iterator &gt; iterator_wrapper(reference cont)</div><div class="ttdoc">wrapper to access iterator member functions in range-based for </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04387">json.hpp:4387</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c_html_afe86d48d3e4e5ebdaaec162b3cf0e95c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html#afe86d48d3e4e5ebdaaec162b3cf0e95c">nlohmann::basic_json::iterator::operator-=</a></div><div class="ttdeci">iterator &amp; operator-=(difference_type i)</div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06989">json.hpp:6989</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813_html_a9af5ea68c88f423ddf35216aff7f1813"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const object_t &amp;val)</div><div class="ttdoc">create an object (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01042">json.hpp:1042</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d_html_a85b09b03916d3d1e73373f49cdd4136d"><div class="ttname"><a href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const number_unsigned_t val) noexcept</div><div class="ttdoc">create an unsigned integer number (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01373">json.hpp:1373</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6_html_a60ca396028b8d9714c6e10efbf475af6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">nlohmann::basic_json::operator&lt;&lt;</a></div><div class="ttdeci">friend std::istream &amp; operator&lt;&lt;(basic_json &amp;j, std::istream &amp;i)</div><div class="ttdoc">deserialize from stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05779">json.hpp:5779</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a_html_a530f042e2ab1c83dddfc344931b0375a"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html#a530f042e2ab1c83dddfc344931b0375a">nlohmann::basic_json::json_reverse_iterator::json_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator(const base_iterator &amp;it) noexcept</div><div class="ttdoc">create reverse iterator from base class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07062">json.hpp:7062</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405_html_a5e34c5435e557d0bf666bd7311211405"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">nlohmann::basic_json::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;o, const basic_json &amp;j)</div><div class="ttdoc">serialize to stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05652">json.hpp:5652</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8_html_a18c35a6735d3da96b4fc026421c05dd8"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8">nlohmann::basic_json::const_iterator::const_iterator</a></div><div class="ttdeci">const_iterator(const const_iterator &amp;other) noexcept</div><div class="ttdoc">copy constructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06440">json.hpp:6440</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c_html_ab3679dc63b3a59edb98b1c2b96d8683c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html#ab3679dc63b3a59edb98b1c2b96d8683c">nlohmann::basic_json::iterator::operator--</a></div><div class="ttdeci">iterator &amp; operator--()</div><div class="ttdoc">pre-decrement (–it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06975">json.hpp:6975</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c_html_a8468efcfcd95db15f46887b29924ed5c"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, basic_json &amp;&amp;val)</div><div class="ttdoc">inserts element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04921">json.hpp:4921</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9_html_a4f332e90f3cae562d0c3fa6ba48f74f9"><div class="ttname"><a href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">nlohmann::basic_json::get_ref</a></div><div class="ttdeci">ReferenceType get_ref()</div><div class="ttdoc">get a reference value (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02944">json.hpp:2944</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71_html_aefac8f3e390ac917f021761f4a8f8e71"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html#aefac8f3e390ac917f021761f4a8f8e71">nlohmann::basic_json::const_iterator::operator-=</a></div><div class="ttdeci">const_iterator &amp; operator-=(difference_type i)</div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06786">json.hpp:6786</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9_html_ae85d91b0620650bcd9993e09d0e287d9"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleStringType &amp;val)</div><div class="ttdoc">create a string (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01228">json.hpp:1228</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7_html_a4ab93491f82545342562c7ee7e3166c7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const basic_json &amp;other)</div><div class="ttdoc">copy constructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01893">json.hpp:1893</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e_html_ac7c006e2345a76859c4802db7d130e0e"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">reference operator[](T *key)</div><div class="ttdoc">access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03472">json.hpp:3472</a></div></div>
-<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafe"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">nlohmann::basic_json::parse_event_t</a></div><div class="ttdeci">parse_event_t</div><div class="ttdoc">JSON callback events. </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00853">json.hpp:853</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7_html_a24d7df0b5b41319dbab2713d3641faf7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a24d7df0b5b41319dbab2713d3641faf7.html#a24d7df0b5b41319dbab2713d3641faf7">nlohmann::basic_json::operator&lt;</a></div><div class="ttdeci">friend bool operator&lt;(const value_t lhs, const value_t rhs) noexcept</div><div class="ttdoc">comparison operator for JSON types </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05467">json.hpp:5467</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f_html_a2badcf191deabf579abcf8d3654da26f"><div class="ttname"><a href="classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const number_float_t val) noexcept</div><div class="ttdoc">create a floating-point number (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01550">json.hpp:1550</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf_html_ae347859ec88176ef76a0cbe5b4514fcf"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae347859ec88176ef76a0cbe5b4514fcf.html#ae347859ec88176ef76a0cbe5b4514fcf">nlohmann::basic_json::operator!=</a></div><div class="ttdeci">friend bool operator!=(const_reference v, std::nullptr_t) noexcept</div><div class="ttdoc">comparison: not equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05660">json.hpp:5660</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36_html_a56952f8d5702541f0d88e6a764d2ae36"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a56952f8d5702541f0d88e6a764d2ae36.html#a56952f8d5702541f0d88e6a764d2ae36">nlohmann::basic_json::iterator::operator+</a></div><div class="ttdeci">iterator operator+(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07314">json.hpp:7314</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe_html_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe"><div class="ttname"><a href="classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleNumberFloatType val) noexcept</div><div class="ttdoc">create an floating-point number (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01599">json.hpp:1599</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902_html_a6b682f09787eff62f03493d45aa05902"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a6b682f09787eff62f03493d45aa05902.html#a6b682f09787eff62f03493d45aa05902">nlohmann::basic_json::const_iterator::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: less than or equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07028">json.hpp:7028</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45_html_a45e789042a23138eba2b69f34df9fc45"><div class="ttname"><a href="classnlohmann_1_1basic__json_a45e789042a23138eba2b69f34df9fc45.html#a45e789042a23138eba2b69f34df9fc45">nlohmann::basic_json::erase</a></div><div class="ttdeci">InteratorType erase(InteratorType pos)</div><div class="ttdoc">remove element given an iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03991">json.hpp:3991</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb_html_afeb998aec45296bc2050bd1c41ef41eb"><div class="ttname"><a href="classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(std::initializer_list&lt; basic_json &gt; init, bool type_deduction=true, value_t manual_type=value_t::array)</div><div class="ttdoc">create a container (array or object) from an initializer list </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01674">json.hpp:1674</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d_html_a085fe0d8cf459b5b1ae7b518b933ae7d"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a085fe0d8cf459b5b1ae7b518b933ae7d.html#a085fe0d8cf459b5b1ae7b518b933ae7d">nlohmann::basic_json::iterator::iterator</a></div><div class="ttdeci">iterator(pointer object) noexcept</div><div class="ttdoc">constructor for a given JSON instance </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07236">json.hpp:7236</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4_html_a7f97a91ad8f1d5cf0b9213bd24f247c4"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7f97a91ad8f1d5cf0b9213bd24f247c4.html#a7f97a91ad8f1d5cf0b9213bd24f247c4">nlohmann::basic_json::operator!=</a></div><div class="ttdeci">friend bool operator!=(std::nullptr_t, const_reference v) noexcept</div><div class="ttdoc">comparison: not equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05669">json.hpp:5669</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488_html_a7c774ef0eceff6d06095f617e2dbd488"><div class="ttname"><a href="classnlohmann_1_1basic__json_a7c774ef0eceff6d06095f617e2dbd488.html#a7c774ef0eceff6d06095f617e2dbd488">nlohmann::basic_json::is_primitive</a></div><div class="ttdeci">constexpr bool is_primitive() const  noexcept</div><div class="ttdoc">return whether type is primitive </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02302">json.hpp:2302</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e_html_a8fbb15efd97599209a7def77af8e748e"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a8fbb15efd97599209a7def77af8e748e.html#a8fbb15efd97599209a7def77af8e748e">nlohmann::basic_json::const_iterator::operator++</a></div><div class="ttdeci">const_iterator &amp; operator++()</div><div class="ttdoc">pre-increment (++it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06878">json.hpp:6878</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017_html_a8de46badb5b2177c85c672a71bcca017"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_a8de46badb5b2177c85c672a71bcca017.html#a8de46badb5b2177c85c672a71bcca017">nlohmann::basic_json::iterator::operator-&gt;</a></div><div class="ttdeci">pointer operator-&gt;() const </div><div class="ttdoc">dereference the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07264">json.hpp:7264</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd_html_ac75e80d30b6169ee2a29ec93fb4d2acd"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd">nlohmann::basic_json::const_iterator::value</a></div><div class="ttdeci">reference value() const </div><div class="ttdoc">return the value of an iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07201">json.hpp:7201</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8_html_a558b345044c38a9f6ad522592cc700c8"><div class="ttname"><a href="classnlohmann_1_1basic__json_a558b345044c38a9f6ad522592cc700c8.html#a558b345044c38a9f6ad522592cc700c8">nlohmann::basic_json::is_structured</a></div><div class="ttdeci">constexpr bool is_structured() const  noexcept</div><div class="ttdoc">return whether type is structured </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02329">json.hpp:2329</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f_html_a821560d64f50525162097f19b1392e7f"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a821560d64f50525162097f19b1392e7f.html#a821560d64f50525162097f19b1392e7f">nlohmann::basic_json::const_iterator::iterator_category</a></div><div class="ttdeci">std::bidirectional_iterator_tag iterator_category</div><div class="ttdoc">the category of the iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06620">json.hpp:6620</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a_html_aac36af84d907b5c3e469af889661620a"><div class="ttname"><a href="classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(boolean_t val) noexcept</div><div class="ttdoc">create a boolean (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01351">json.hpp:1351</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b_html_a12ccf14d39ddae52f6c7e126105a230b"><div class="ttname"><a href="classnlohmann_1_1basic__json_a12ccf14d39ddae52f6c7e126105a230b.html#a12ccf14d39ddae52f6c7e126105a230b">nlohmann::basic_json::end</a></div><div class="ttdeci">iterator end() noexcept</div><div class="ttdoc">returns an iterator to one past the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04428">json.hpp:4428</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707_html_aaa160a960dd3dd90856a72b1d8dbe707"><div class="ttname"><a href="classnlohmann_1_1basic__json_aaa160a960dd3dd90856a72b1d8dbe707.html#aaa160a960dd3dd90856a72b1d8dbe707">nlohmann::basic_json::rend</a></div><div class="ttdeci">reverse_iterator rend() noexcept</div><div class="ttdoc">returns an iterator to the reverse-end </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04535">json.hpp:4535</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc_html_a115fae3dd8ae02669fedae0545ce1cbc"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a115fae3dd8ae02669fedae0545ce1cbc.html#a115fae3dd8ae02669fedae0545ce1cbc">nlohmann::basic_json::json_reverse_iterator::operator-</a></div><div class="ttdeci">difference_type operator-(const json_reverse_iterator &amp;other) const </div><div class="ttdoc">return difference </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07434">json.hpp:7434</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e_html_aaa687595d7627925fbf6d6eb97e2021e"><div class="ttname"><a href="classnlohmann_1_1basic__json_aaa687595d7627925fbf6d6eb97e2021e.html#aaa687595d7627925fbf6d6eb97e2021e">nlohmann::basic_json::find</a></div><div class="ttdeci">const_iterator find(typename object_t::key_type key) const </div><div class="ttdoc">find an element in a JSON object </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04287">json.hpp:4287</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1_html_ad4e381c54039607be08d7af41a1f6ad1"><div class="ttname"><a href="classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1">nlohmann::basic_json::begin</a></div><div class="ttdeci">iterator begin() noexcept</div><div class="ttdoc">returns an iterator to the first element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04357">json.hpp:4357</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8_html_ab7be2bc58ae0c2c2c30d40f15d6399f8"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleObjectType &amp;val)</div><div class="ttdoc">create an object (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01172">json.hpp:1172</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819_html_a68f0a8c4618d57523384ec7ecd2f5819"><div class="ttname"><a href="classnlohmann_1_1basic__json_a68f0a8c4618d57523384ec7ecd2f5819.html#a68f0a8c4618d57523384ec7ecd2f5819">nlohmann::basic_json::end</a></div><div class="ttdeci">const_iterator end() const  noexcept</div><div class="ttdoc">returns a const iterator to one past the last element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04438">json.hpp:4438</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8_html_a87db51b6b936fb2ea293cdbc8702dcb8"><div class="ttname"><a href="classnlohmann_1_1basic__json_a87db51b6b936fb2ea293cdbc8702dcb8.html#a87db51b6b936fb2ea293cdbc8702dcb8">nlohmann::basic_json::operator&gt;</a></div><div class="ttdeci">friend bool operator&gt;(const_reference lhs, const_reference rhs) noexcept</div><div class="ttdoc">comparison: greater than </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05815">json.hpp:5815</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201_html_af6941c3711dabb2e64960dd57e00d201"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_af6941c3711dabb2e64960dd57e00d201.html#af6941c3711dabb2e64960dd57e00d201">nlohmann::basic_json::const_iterator::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: greater than or equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07046">json.hpp:7046</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b_html_a5521515067b6597cb0b55a9c547a7a2b"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a5521515067b6597cb0b55a9c547a7a2b.html#a5521515067b6597cb0b55a9c547a7a2b">nlohmann::basic_json::const_iterator::operator=</a></div><div class="ttdeci">const_iterator &amp; operator=(const_iterator other) noexcept(                                       std::is_nothrow_move_constructible&lt; pointer &gt;::value and                                       std::is_nothrow_move_assignable&lt; pointer &gt;::value and                                       std::is_nothrow_move_constructible&lt; internal_iterator &gt;::value and                                       std::is_nothrow_move_assignable&lt; internal_iterator &gt;::value                       )</div><div class="ttdoc">copy assignment </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06705">json.hpp:6705</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3_html_aa36e72ffc3241b960fe9186d19e03bc3"><div class="ttname"><a href="classnlohmann_1_1basic__json_aa36e72ffc3241b960fe9186d19e03bc3.html#aa36e72ffc3241b960fe9186d19e03bc3">nlohmann::basic_json::erase</a></div><div class="ttdeci">size_type erase(const typename object_t::key_type &amp;key)</div><div class="ttdoc">remove element from a JSON object given a key </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04188">json.hpp:4188</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034_html_a92fbb711a36b5ce78ee228b26787c034"><div class="ttname"><a href="classnlohmann_1_1basic__json_a92fbb711a36b5ce78ee228b26787c034.html#a92fbb711a36b5ce78ee228b26787c034">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">reference operator[](const typename object_t::key_type &amp;key)</div><div class="ttdoc">access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03478">json.hpp:3478</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0_html_a5d4320e24fcb7df041ff2c95d976dba0"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a5d4320e24fcb7df041ff2c95d976dba0.html#a5d4320e24fcb7df041ff2c95d976dba0">nlohmann::basic_json::const_iterator::key</a></div><div class="ttdeci">object_t::key_type key() const </div><div class="ttdoc">return the key of an object iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07183">json.hpp:7183</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41_html_a1c1aa2d148a3e4ce0d4e50cf5b894f41"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1c1aa2d148a3e4ce0d4e50cf5b894f41.html#a1c1aa2d148a3e4ce0d4e50cf5b894f41">nlohmann::basic_json::operator+=</a></div><div class="ttdeci">reference operator+=(basic_json &amp;&amp;val)</div><div class="ttdoc">add an object to an array </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04974">json.hpp:4974</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa_html_a7bd530bfbbc58ac77308c087120c21fa"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a7bd530bfbbc58ac77308c087120c21fa.html#a7bd530bfbbc58ac77308c087120c21fa">nlohmann::basic_json::const_iterator::operator[]</a></div><div class="ttdeci">reference operator[](difference_type n) const </div><div class="ttdoc">access to successor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07144">json.hpp:7144</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_html"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator.html">nlohmann::basic_json::const_iterator</a></div><div class="ttdoc">a const random access iterator for the basic_json class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06605">json.hpp:6605</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649_html_a1407f91b4689bbc56d1a3c401a5bb649"><div class="ttname"><a href="classnlohmann_1_1basic__json_a1407f91b4689bbc56d1a3c401a5bb649.html#a1407f91b4689bbc56d1a3c401a5bb649">nlohmann::basic_json::is_number</a></div><div class="ttdeci">constexpr bool is_number() const  noexcept</div><div class="ttdoc">return whether value is a number </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02403">json.hpp:2403</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_html"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator.html">nlohmann::basic_json::json_reverse_iterator</a></div><div class="ttdoc">a template for a reverse iterator class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00231">json.hpp:231</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2_html_aefd248cac6493eed1e6ff53ba6a63eb2"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_aefd248cac6493eed1e6ff53ba6a63eb2.html#aefd248cac6493eed1e6ff53ba6a63eb2">nlohmann::basic_json::const_iterator::reference</a></div><div class="ttdeci">typename basic_json::const_reference reference</div><div class="ttdoc">defines a reference to the type iterated over (value_type) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06618">json.hpp:6618</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28_html_a545a8204cfd6836eb85abc3113a0bb28"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a545a8204cfd6836eb85abc3113a0bb28.html#a545a8204cfd6836eb85abc3113a0bb28">nlohmann::basic_json::json_reverse_iterator::operator++</a></div><div class="ttdeci">json_reverse_iterator operator++(int)</div><div class="ttdoc">post-increment (it++) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07385">json.hpp:7385</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7_html_a9730b9f7bc2150e641fe20198d4477c7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9730b9f7bc2150e641fe20198d4477c7.html#a9730b9f7bc2150e641fe20198d4477c7">nlohmann::basic_json::operator==</a></div><div class="ttdeci">friend bool operator==(const_reference v, std::nullptr_t) noexcept</div><div class="ttdoc">comparison: equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05607">json.hpp:5607</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159_html_a59732a1de287a7301cca19a7a7748159"><div class="ttname"><a href="classnlohmann_1_1basic__json_a59732a1de287a7301cca19a7a7748159.html#a59732a1de287a7301cca19a7a7748159">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">reference operator[](size_type idx)</div><div class="ttdoc">access specified array element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03390">json.hpp:3390</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca_html_a9e4c6e48e3c2f3ff357ef8215b8c8fca"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a9e4c6e48e3c2f3ff357ef8215b8c8fca.html#a9e4c6e48e3c2f3ff357ef8215b8c8fca">nlohmann::basic_json::const_iterator::operator!=</a></div><div class="ttdeci">bool operator!=(const const_iterator &amp;other) const </div><div class="ttdoc">comparison: not equal </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06986">json.hpp:6986</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0_html_a9accc9dd9f9033f50c0ab6bcf337ffe0"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9accc9dd9f9033f50c0ab6bcf337ffe0.html#a9accc9dd9f9033f50c0ab6bcf337ffe0">nlohmann::basic_json::json_reverse_iterator::operator+=</a></div><div class="ttdeci">json_reverse_iterator &amp; operator+=(difference_type i)</div><div class="ttdoc">add to iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07411">json.hpp:7411</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9_html_a214a8c22d616fd3567b88932c07436c9"><div class="ttname"><a href="classnlohmann_1_1basic__json_a214a8c22d616fd3567b88932c07436c9.html#a214a8c22d616fd3567b88932c07436c9">nlohmann::basic_json::at</a></div><div class="ttdeci">reference at(size_type idx)</div><div class="ttdoc">access specified array element with bounds checking </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03207">json.hpp:3207</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49_html_a01833b332b68d9af1f7cd7a816c39e49"><div class="ttname"><a href="classnlohmann_1_1basic__json_a01833b332b68d9af1f7cd7a816c39e49.html#a01833b332b68d9af1f7cd7a816c39e49">nlohmann::basic_json::size</a></div><div class="ttdeci">size_type size() const  noexcept</div><div class="ttdoc">returns the number of elements </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04750">json.hpp:4750</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5_html_ab936779c70bec68343ef440ed13251e5"><div class="ttname"><a href="classnlohmann_1_1basic__json_ab936779c70bec68343ef440ed13251e5.html#ab936779c70bec68343ef440ed13251e5">nlohmann::basic_json::iterator_wrapper</a></div><div class="ttdeci">static iteration_proxy&lt; iterator &gt; iterator_wrapper(reference cont)</div><div class="ttdoc">wrapper to access iterator member functions in range-based for </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l04622">json.hpp:4622</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c_html_afe86d48d3e4e5ebdaaec162b3cf0e95c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_afe86d48d3e4e5ebdaaec162b3cf0e95c.html#afe86d48d3e4e5ebdaaec162b3cf0e95c">nlohmann::basic_json::iterator::operator-=</a></div><div class="ttdeci">iterator &amp; operator-=(difference_type i)</div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07307">json.hpp:7307</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813_html_a9af5ea68c88f423ddf35216aff7f1813"><div class="ttname"><a href="classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const object_t &amp;val)</div><div class="ttdoc">create an object (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01135">json.hpp:1135</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d_html_a85b09b03916d3d1e73373f49cdd4136d"><div class="ttname"><a href="classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const number_unsigned_t val) noexcept</div><div class="ttdoc">create an unsigned integer number (explicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01486">json.hpp:1486</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6_html_a60ca396028b8d9714c6e10efbf475af6"><div class="ttname"><a href="classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6">nlohmann::basic_json::operator&lt;&lt;</a></div><div class="ttdeci">friend std::istream &amp; operator&lt;&lt;(basic_json &amp;j, std::istream &amp;i)</div><div class="ttdoc">deserialize from stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06017">json.hpp:6017</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a_html_a530f042e2ab1c83dddfc344931b0375a"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1json__reverse__iterator_a530f042e2ab1c83dddfc344931b0375a.html#a530f042e2ab1c83dddfc344931b0375a">nlohmann::basic_json::json_reverse_iterator::json_reverse_iterator</a></div><div class="ttdeci">json_reverse_iterator(const base_iterator &amp;it) noexcept</div><div class="ttdoc">create reverse iterator from base class </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07380">json.hpp:7380</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405_html_a5e34c5435e557d0bf666bd7311211405"><div class="ttname"><a href="classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405">nlohmann::basic_json::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;o, const basic_json &amp;j)</div><div class="ttdoc">serialize to stream </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05878">json.hpp:5878</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8_html_a18c35a6735d3da96b4fc026421c05dd8"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_a18c35a6735d3da96b4fc026421c05dd8.html#a18c35a6735d3da96b4fc026421c05dd8">nlohmann::basic_json::const_iterator::const_iterator</a></div><div class="ttdeci">const_iterator(const const_iterator &amp;other) noexcept</div><div class="ttdoc">copy constructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l06696">json.hpp:6696</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c_html_ab3679dc63b3a59edb98b1c2b96d8683c"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1iterator_ab3679dc63b3a59edb98b1c2b96d8683c.html#ab3679dc63b3a59edb98b1c2b96d8683c">nlohmann::basic_json::iterator::operator--</a></div><div class="ttdeci">iterator &amp; operator--()</div><div class="ttdoc">pre-decrement (–it) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07293">json.hpp:7293</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c_html_a8468efcfcd95db15f46887b29924ed5c"><div class="ttname"><a href="classnlohmann_1_1basic__json_a8468efcfcd95db15f46887b29924ed5c.html#a8468efcfcd95db15f46887b29924ed5c">nlohmann::basic_json::insert</a></div><div class="ttdeci">iterator insert(const_iterator pos, basic_json &amp;&amp;val)</div><div class="ttdoc">inserts element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l05160">json.hpp:5160</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9_html_a4f332e90f3cae562d0c3fa6ba48f74f9"><div class="ttname"><a href="classnlohmann_1_1basic__json_a4f332e90f3cae562d0c3fa6ba48f74f9.html#a4f332e90f3cae562d0c3fa6ba48f74f9">nlohmann::basic_json::get_ref</a></div><div class="ttdeci">ReferenceType get_ref()</div><div class="ttdoc">get a reference value (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03111">json.hpp:3111</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71_html_aefac8f3e390ac917f021761f4a8f8e71"><div class="ttname"><a href="classnlohmann_1_1basic__json_1_1const__iterator_aefac8f3e390ac917f021761f4a8f8e71.html#aefac8f3e390ac917f021761f4a8f8e71">nlohmann::basic_json::const_iterator::operator-=</a></div><div class="ttdeci">const_iterator &amp; operator-=(difference_type i)</div><div class="ttdoc">subtract from iterator </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l07086">json.hpp:7086</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9_html_ae85d91b0620650bcd9993e09d0e287d9"><div class="ttname"><a href="classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const CompatibleStringType &amp;val)</div><div class="ttdoc">create a string (implicit) </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l01331">json.hpp:1331</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7_html_a4ab93491f82545342562c7ee7e3166c7"><div class="ttname"><a href="classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7">nlohmann::basic_json::basic_json</a></div><div class="ttdeci">basic_json(const basic_json &amp;other)</div><div class="ttdoc">copy constructor </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l02011">json.hpp:2011</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e_html_ac7c006e2345a76859c4802db7d130e0e"><div class="ttname"><a href="classnlohmann_1_1basic__json_ac7c006e2345a76859c4802db7d130e0e.html#ac7c006e2345a76859c4802db7d130e0e">nlohmann::basic_json::operator[]</a></div><div class="ttdeci">reference operator[](T *key)</div><div class="ttdoc">access specified object element </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l03636">json.hpp:3636</a></div></div>
+<div class="ttc" id="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe_html_aea1c863b719b4ca5b77188c171bbfafe"><div class="ttname"><a href="classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe">nlohmann::basic_json::parse_event_t</a></div><div class="ttdeci">parse_event_t</div><div class="ttdoc">JSON callback events. </div><div class="ttdef"><b>Definition:</b> <a href="json_8hpp_source.html#l00932">json.hpp:932</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/namespacemembers.html b/namespacemembers.html
index c6162f5..e45f6ec 100644
--- a/namespacemembers.html
+++ b/namespacemembers.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -94,7 +94,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/namespacemembers_type.html b/namespacemembers_type.html
index 61cc780..246b6a9 100644
--- a/namespacemembers_type.html
+++ b/namespacemembers_type.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -94,7 +94,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:03 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/namespacenlohmann.html b/namespacenlohmann.html
index 0e7d7cc..868bb0a 100644
--- a/namespacenlohmann.html
+++ b/namespacenlohmann.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -116,7 +116,7 @@
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html b/namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html
index c886ab2..54047d2 100644
--- a/namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html
+++ b/namespacenlohmann_1_1anonymous__namespace_02json_8hpp_03.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -96,7 +96,7 @@
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>DecimalSeparator</b></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>DecimalSeparator</b></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">helper class to create locales with decimal point <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>has_mapped_type</b></td></tr>
@@ -108,7 +108,7 @@
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html b/namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html
index 03a6bcd..d6587f5 100644
--- a/namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html
+++ b/namespacenlohmann_a2bfd99e845a2e5cd90aeaf1b1431f474.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -101,7 +101,7 @@
 <p>This type is the default specialization of the <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> class which uses the standard template types.</p>
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09964">9964</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l10356">10356</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -111,7 +111,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:01 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:07 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
diff --git a/search/all_1.js b/search/all_1.js
index d4b6d2a..cb4d57e 100644
--- a/search/all_1.js
+++ b/search/all_1.js
@@ -3,7 +3,7 @@
   ['back',['back',['../classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5',1,'nlohmann::basic_json::back()'],['../classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6',1,'nlohmann::basic_json::back() const ']]],
   ['base_5fiterator',['base_iterator',['../classnlohmann_1_1basic__json_1_1iterator_ac48754e4dc48d65d95294bd170dcd857.html#ac48754e4dc48d65d95294bd170dcd857',1,'nlohmann::basic_json::iterator::base_iterator()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator_a9ebc4c99e6fc90c965af0f39ad2ca70e.html#a9ebc4c99e6fc90c965af0f39ad2ca70e',1,'nlohmann::basic_json::json_reverse_iterator::base_iterator()']]],
   ['basic_5fjson',['basic_json',['../classnlohmann_1_1basic__json.html',1,'nlohmann']]],
-  ['basic_5fjson',['basic_json',['../classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::basic_json::const_iterator::basic_json()'],['../classnlohmann_1_1basic__json_1_1json__pointer_ada3100cdb8700566051828f1355fa745.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::basic_json::json_pointer::basic_json()'],['../classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148',1,'nlohmann::basic_json::basic_json(const value_t value_type)'],['../classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6',1,'nlohmann::basic_json::basic_json()=default'],['../classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e',1,'nlohmann::basic_json::basic_json(std::nullptr_t) noexcept'],['../classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813',1,'nlohmann::basic_json::basic_json(const object_t &amp;val)'],['../classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8',1,'nlohmann::basic_json::basic_json(const CompatibleObjectType &amp;val)'],['../classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf',1,'nlohmann::basic_json::basic_json(const array_t &amp;val)'],['../classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1',1,'nlohmann::basic_json::basic_json(const CompatibleArrayType &amp;val)'],['../classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de',1,'nlohmann::basic_json::basic_json(const string_t &amp;val)'],['../classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5',1,'nlohmann::basic_json::basic_json(const typename string_t::value_type *val)'],['../classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9',1,'nlohmann::basic_json::basic_json(const CompatibleStringType &amp;val)'],['../classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a',1,'nlohmann::basic_json::basic_json(boolean_t val) noexcept'],['../classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6',1,'nlohmann::basic_json::basic_json(const number_integer_t val) noexcept'],['../classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a',1,'nlohmann::basic_json::basic_json(const int val) noexcept'],['../classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2',1,'nlohmann::basic_json::basic_json(const CompatibleNumberIntegerType val) noexcept'],['../classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d',1,'nlohmann::basic_json::basic_json(const number_unsigned_t val) noexcept'],['../classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834',1,'nlohmann::basic_json::basic_json(const CompatibleNumberUnsignedType val) noexcept'],['../classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f',1,'nlohmann::basic_json::basic_json(const number_float_t val) noexcept'],['../classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe',1,'nlohmann::basic_json::basic_json(const CompatibleNumberFloatType val) noexcept'],['../classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb',1,'nlohmann::basic_json::basic_json(std::initializer_list&lt; basic_json &gt; init, bool type_deduction=true, value_t manual_type=value_t::array)'],['../classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52',1,'nlohmann::basic_json::basic_json(size_type cnt, const basic_json &amp;val)'],['../classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c',1,'nlohmann::basic_json::basic_json(InputIT first, InputIT last)'],['../classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208',1,'nlohmann::basic_json::basic_json(std::istream &amp;i, parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7',1,'nlohmann::basic_json::basic_json(const basic_json &amp;other)'],['../classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2',1,'nlohmann::basic_json::basic_json(basic_json &amp;&amp;other) noexcept']]],
+  ['basic_5fjson',['basic_json',['../classnlohmann_1_1basic__json_1_1const__iterator_ada3100cdb8700566051828f1355fa745.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::basic_json::const_iterator::basic_json()'],['../classnlohmann_1_1basic__json_1_1json__pointer_ada3100cdb8700566051828f1355fa745.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::basic_json::json_pointer::basic_json()'],['../classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148',1,'nlohmann::basic_json::basic_json(const value_t value_type)'],['../classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6',1,'nlohmann::basic_json::basic_json()=default'],['../classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e',1,'nlohmann::basic_json::basic_json(std::nullptr_t) noexcept'],['../classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813',1,'nlohmann::basic_json::basic_json(const object_t &amp;val)'],['../classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8',1,'nlohmann::basic_json::basic_json(const CompatibleObjectType &amp;val)'],['../classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf',1,'nlohmann::basic_json::basic_json(const array_t &amp;val)'],['../classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1',1,'nlohmann::basic_json::basic_json(const CompatibleArrayType &amp;val)'],['../classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de',1,'nlohmann::basic_json::basic_json(const string_t &amp;val)'],['../classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5',1,'nlohmann::basic_json::basic_json(const typename string_t::value_type *val)'],['../classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9',1,'nlohmann::basic_json::basic_json(const CompatibleStringType &amp;val)'],['../classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a',1,'nlohmann::basic_json::basic_json(boolean_t val) noexcept'],['../classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6',1,'nlohmann::basic_json::basic_json(const number_integer_t val) noexcept'],['../classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a',1,'nlohmann::basic_json::basic_json(const int val) noexcept'],['../classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2',1,'nlohmann::basic_json::basic_json(const CompatibleNumberIntegerType val) noexcept'],['../classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d',1,'nlohmann::basic_json::basic_json(const number_unsigned_t val) noexcept'],['../classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834',1,'nlohmann::basic_json::basic_json(const CompatibleNumberUnsignedType val) noexcept'],['../classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f',1,'nlohmann::basic_json::basic_json(const number_float_t val) noexcept'],['../classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe',1,'nlohmann::basic_json::basic_json(const CompatibleNumberFloatType val) noexcept'],['../classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb',1,'nlohmann::basic_json::basic_json(std::initializer_list&lt; basic_json &gt; init, bool type_deduction=true, value_t manual_type=value_t::array)'],['../classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52',1,'nlohmann::basic_json::basic_json(size_type cnt, const basic_json &amp;val)'],['../classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c',1,'nlohmann::basic_json::basic_json(InputIT first, InputIT last)'],['../classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70',1,'nlohmann::basic_json::basic_json(std::istream &amp;i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7',1,'nlohmann::basic_json::basic_json(const basic_json &amp;other)'],['../classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2',1,'nlohmann::basic_json::basic_json(basic_json &amp;&amp;other) noexcept']]],
   ['begin',['begin',['../classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1',1,'nlohmann::basic_json::begin() noexcept'],['../classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256',1,'nlohmann::basic_json::begin() const  noexcept']]],
   ['boolean',['boolean',['../classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522a84e2c64f38f78ba3ea5c905ab5a2da27',1,'nlohmann::basic_json']]],
   ['boolean_5ft',['boolean_t',['../classnlohmann_1_1basic__json_af3bc3e83aa162d7ba4df16a949872723.html#af3bc3e83aa162d7ba4df16a949872723',1,'nlohmann::basic_json']]]
diff --git a/search/all_13.js b/search/all_13.js
index af89f93..1609ea5 100644
--- a/search/all_13.js
+++ b/search/all_13.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['value',['value',['../classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0',1,'nlohmann::basic_json::value(const typename object_t::key_type &amp;key, ValueType default_value) const '],['../classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42',1,'nlohmann::basic_json::value(const typename object_t::key_type &amp;key, const char *default_value) const '],['../classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd',1,'nlohmann::basic_json::const_iterator::value()'],['../classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f',1,'nlohmann::basic_json::iterator::value()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b',1,'nlohmann::basic_json::json_reverse_iterator::value()'],['../classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea2063c1608d6e0baf80249c42e2be5804',1,'nlohmann::basic_json::value()']]],
+  ['value',['value',['../classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0',1,'nlohmann::basic_json::value(const typename object_t::key_type &amp;key, ValueType default_value) const '],['../classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42',1,'nlohmann::basic_json::value(const typename object_t::key_type &amp;key, const char *default_value) const '],['../classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d',1,'nlohmann::basic_json::value(const json_pointer &amp;ptr, ValueType default_value) const '],['../classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736',1,'nlohmann::basic_json::value(const json_pointer &amp;ptr, const char *default_value) const '],['../classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd',1,'nlohmann::basic_json::const_iterator::value()'],['../classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f',1,'nlohmann::basic_json::iterator::value()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b',1,'nlohmann::basic_json::json_reverse_iterator::value()'],['../classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafea2063c1608d6e0baf80249c42e2be5804',1,'nlohmann::basic_json::value()']]],
   ['value_5ft',['value_t',['../classnlohmann_1_1basic__json_a231b02148577b69a154b2ce2c87a5522.html#a231b02148577b69a154b2ce2c87a5522',1,'nlohmann::basic_json']]],
   ['value_5ftype',['value_type',['../classnlohmann_1_1basic__json_ac8d45b57874b4a6e9c07f7d3b5daa1f9.html#ac8d45b57874b4a6e9c07f7d3b5daa1f9',1,'nlohmann::basic_json::value_type()'],['../classnlohmann_1_1basic__json_1_1const__iterator_a9ea0497199b1e96ce9cadd1f202ec343.html#a9ea0497199b1e96ce9cadd1f202ec343',1,'nlohmann::basic_json::const_iterator::value_type()']]]
 ];
diff --git a/search/all_e.js b/search/all_e.js
index 58f9ace..db3419e 100644
--- a/search/all_e.js
+++ b/search/all_e.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['parse',['parse',['../classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86',1,'nlohmann::basic_json::parse(const string_t &amp;s, parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff',1,'nlohmann::basic_json::parse(std::istream &amp;i, parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a',1,'nlohmann::basic_json::parse(std::istream &amp;&amp;i, parser_callback_t cb=nullptr)']]],
+  ['parse',['parse',['../classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080',1,'nlohmann::basic_json::parse(const string_t &amp;s, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d',1,'nlohmann::basic_json::parse(std::istream &amp;i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787',1,'nlohmann::basic_json::parse(std::istream &amp;&amp;i, const parser_callback_t cb=nullptr)']]],
   ['parse_5fevent_5ft',['parse_event_t',['../classnlohmann_1_1basic__json_aea1c863b719b4ca5b77188c171bbfafe.html#aea1c863b719b4ca5b77188c171bbfafe',1,'nlohmann::basic_json']]],
   ['parser_5fcallback_5ft',['parser_callback_t',['../classnlohmann_1_1basic__json_a9e35475e2027520a78e09f460dbe048a.html#a9e35475e2027520a78e09f460dbe048a',1,'nlohmann::basic_json']]],
   ['patch',['patch',['../classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d',1,'nlohmann::basic_json']]],
diff --git a/search/functions_1.js b/search/functions_1.js
index a1d7e70..5f78d49 100644
--- a/search/functions_1.js
+++ b/search/functions_1.js
@@ -1,6 +1,6 @@
 var searchData=
 [
   ['back',['back',['../classnlohmann_1_1basic__json_a71b1d38ef402dfee58fba1fe01fa67f5.html#a71b1d38ef402dfee58fba1fe01fa67f5',1,'nlohmann::basic_json::back()'],['../classnlohmann_1_1basic__json_a098482190447461f47f80b99bf2519f6.html#a098482190447461f47f80b99bf2519f6',1,'nlohmann::basic_json::back() const ']]],
-  ['basic_5fjson',['basic_json',['../classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148',1,'nlohmann::basic_json::basic_json(const value_t value_type)'],['../classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6',1,'nlohmann::basic_json::basic_json()=default'],['../classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e',1,'nlohmann::basic_json::basic_json(std::nullptr_t) noexcept'],['../classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813',1,'nlohmann::basic_json::basic_json(const object_t &amp;val)'],['../classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8',1,'nlohmann::basic_json::basic_json(const CompatibleObjectType &amp;val)'],['../classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf',1,'nlohmann::basic_json::basic_json(const array_t &amp;val)'],['../classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1',1,'nlohmann::basic_json::basic_json(const CompatibleArrayType &amp;val)'],['../classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de',1,'nlohmann::basic_json::basic_json(const string_t &amp;val)'],['../classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5',1,'nlohmann::basic_json::basic_json(const typename string_t::value_type *val)'],['../classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9',1,'nlohmann::basic_json::basic_json(const CompatibleStringType &amp;val)'],['../classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a',1,'nlohmann::basic_json::basic_json(boolean_t val) noexcept'],['../classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6',1,'nlohmann::basic_json::basic_json(const number_integer_t val) noexcept'],['../classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a',1,'nlohmann::basic_json::basic_json(const int val) noexcept'],['../classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2',1,'nlohmann::basic_json::basic_json(const CompatibleNumberIntegerType val) noexcept'],['../classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d',1,'nlohmann::basic_json::basic_json(const number_unsigned_t val) noexcept'],['../classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834',1,'nlohmann::basic_json::basic_json(const CompatibleNumberUnsignedType val) noexcept'],['../classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f',1,'nlohmann::basic_json::basic_json(const number_float_t val) noexcept'],['../classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe',1,'nlohmann::basic_json::basic_json(const CompatibleNumberFloatType val) noexcept'],['../classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb',1,'nlohmann::basic_json::basic_json(std::initializer_list&lt; basic_json &gt; init, bool type_deduction=true, value_t manual_type=value_t::array)'],['../classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52',1,'nlohmann::basic_json::basic_json(size_type cnt, const basic_json &amp;val)'],['../classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c',1,'nlohmann::basic_json::basic_json(InputIT first, InputIT last)'],['../classnlohmann_1_1basic__json_a9857835334d38ba04959e348ca6be208.html#a9857835334d38ba04959e348ca6be208',1,'nlohmann::basic_json::basic_json(std::istream &amp;i, parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7',1,'nlohmann::basic_json::basic_json(const basic_json &amp;other)'],['../classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2',1,'nlohmann::basic_json::basic_json(basic_json &amp;&amp;other) noexcept']]],
+  ['basic_5fjson',['basic_json',['../classnlohmann_1_1basic__json_a8f77085bd98c97a983d9ba12efbf6148.html#a8f77085bd98c97a983d9ba12efbf6148',1,'nlohmann::basic_json::basic_json(const value_t value_type)'],['../classnlohmann_1_1basic__json_a53771a7a4f2787125e55f64448f24ce6.html#a53771a7a4f2787125e55f64448f24ce6',1,'nlohmann::basic_json::basic_json()=default'],['../classnlohmann_1_1basic__json_ade0e56c8c320d7f342e7a5697e6d6f7e.html#ade0e56c8c320d7f342e7a5697e6d6f7e',1,'nlohmann::basic_json::basic_json(std::nullptr_t) noexcept'],['../classnlohmann_1_1basic__json_a9af5ea68c88f423ddf35216aff7f1813.html#a9af5ea68c88f423ddf35216aff7f1813',1,'nlohmann::basic_json::basic_json(const object_t &amp;val)'],['../classnlohmann_1_1basic__json_ab7be2bc58ae0c2c2c30d40f15d6399f8.html#ab7be2bc58ae0c2c2c30d40f15d6399f8',1,'nlohmann::basic_json::basic_json(const CompatibleObjectType &amp;val)'],['../classnlohmann_1_1basic__json_a3aaf41d385f0d9a93deb92f9b14ae0cf.html#a3aaf41d385f0d9a93deb92f9b14ae0cf',1,'nlohmann::basic_json::basic_json(const array_t &amp;val)'],['../classnlohmann_1_1basic__json_a81aaaab0f3b326afda2d226daab4f1e1.html#a81aaaab0f3b326afda2d226daab4f1e1',1,'nlohmann::basic_json::basic_json(const CompatibleArrayType &amp;val)'],['../classnlohmann_1_1basic__json_ab8b43d92a042dde96c28aeea81dd52de.html#ab8b43d92a042dde96c28aeea81dd52de',1,'nlohmann::basic_json::basic_json(const string_t &amp;val)'],['../classnlohmann_1_1basic__json_a3654da9a84deaf61899c4eee5b93c2c5.html#a3654da9a84deaf61899c4eee5b93c2c5',1,'nlohmann::basic_json::basic_json(const typename string_t::value_type *val)'],['../classnlohmann_1_1basic__json_ae85d91b0620650bcd9993e09d0e287d9.html#ae85d91b0620650bcd9993e09d0e287d9',1,'nlohmann::basic_json::basic_json(const CompatibleStringType &amp;val)'],['../classnlohmann_1_1basic__json_aac36af84d907b5c3e469af889661620a.html#aac36af84d907b5c3e469af889661620a',1,'nlohmann::basic_json::basic_json(boolean_t val) noexcept'],['../classnlohmann_1_1basic__json_a0d838bc7ffca6017f51167e0a8ffd9b6.html#a0d838bc7ffca6017f51167e0a8ffd9b6',1,'nlohmann::basic_json::basic_json(const number_integer_t val) noexcept'],['../classnlohmann_1_1basic__json_a70ae1f0747f5b7a89979512866474f1a.html#a70ae1f0747f5b7a89979512866474f1a',1,'nlohmann::basic_json::basic_json(const int val) noexcept'],['../classnlohmann_1_1basic__json_ad2eddc2c13ab084f067eaba65d381ad2.html#ad2eddc2c13ab084f067eaba65d381ad2',1,'nlohmann::basic_json::basic_json(const CompatibleNumberIntegerType val) noexcept'],['../classnlohmann_1_1basic__json_a85b09b03916d3d1e73373f49cdd4136d.html#a85b09b03916d3d1e73373f49cdd4136d',1,'nlohmann::basic_json::basic_json(const number_unsigned_t val) noexcept'],['../classnlohmann_1_1basic__json_a68a5f34b164a07b8ced13fcf2b7ec834.html#a68a5f34b164a07b8ced13fcf2b7ec834',1,'nlohmann::basic_json::basic_json(const CompatibleNumberUnsignedType val) noexcept'],['../classnlohmann_1_1basic__json_a2badcf191deabf579abcf8d3654da26f.html#a2badcf191deabf579abcf8d3654da26f',1,'nlohmann::basic_json::basic_json(const number_float_t val) noexcept'],['../classnlohmann_1_1basic__json_a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe.html#a4bbdfd6dd8d2e6fc9ac5d81ef61ba3fe',1,'nlohmann::basic_json::basic_json(const CompatibleNumberFloatType val) noexcept'],['../classnlohmann_1_1basic__json_afeb998aec45296bc2050bd1c41ef41eb.html#afeb998aec45296bc2050bd1c41ef41eb',1,'nlohmann::basic_json::basic_json(std::initializer_list&lt; basic_json &gt; init, bool type_deduction=true, value_t manual_type=value_t::array)'],['../classnlohmann_1_1basic__json_a112a2d8e76345ea64f71e2985fee4c52.html#a112a2d8e76345ea64f71e2985fee4c52',1,'nlohmann::basic_json::basic_json(size_type cnt, const basic_json &amp;val)'],['../classnlohmann_1_1basic__json_af7acf3838a79363356f24538941a559c.html#af7acf3838a79363356f24538941a559c',1,'nlohmann::basic_json::basic_json(InputIT first, InputIT last)'],['../classnlohmann_1_1basic__json_a110eb65dc3e34e1cebd28a10218c6d70.html#a110eb65dc3e34e1cebd28a10218c6d70',1,'nlohmann::basic_json::basic_json(std::istream &amp;i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a4ab93491f82545342562c7ee7e3166c7.html#a4ab93491f82545342562c7ee7e3166c7',1,'nlohmann::basic_json::basic_json(const basic_json &amp;other)'],['../classnlohmann_1_1basic__json_a73e150cbcba5643cb89de8f515eb64e2.html#a73e150cbcba5643cb89de8f515eb64e2',1,'nlohmann::basic_json::basic_json(basic_json &amp;&amp;other) noexcept']]],
   ['begin',['begin',['../classnlohmann_1_1basic__json_ad4e381c54039607be08d7af41a1f6ad1.html#ad4e381c54039607be08d7af41a1f6ad1',1,'nlohmann::basic_json::begin() noexcept'],['../classnlohmann_1_1basic__json_a86a477c16dac3bdd4929fee2db394256.html#a86a477c16dac3bdd4929fee2db394256',1,'nlohmann::basic_json::begin() const  noexcept']]]
 ];
diff --git a/search/functions_11.js b/search/functions_11.js
index 0da6d43..c152aed 100644
--- a/search/functions_11.js
+++ b/search/functions_11.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['value',['value',['../classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0',1,'nlohmann::basic_json::value(const typename object_t::key_type &amp;key, ValueType default_value) const '],['../classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42',1,'nlohmann::basic_json::value(const typename object_t::key_type &amp;key, const char *default_value) const '],['../classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd',1,'nlohmann::basic_json::const_iterator::value()'],['../classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f',1,'nlohmann::basic_json::iterator::value()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b',1,'nlohmann::basic_json::json_reverse_iterator::value()']]]
+  ['value',['value',['../classnlohmann_1_1basic__json_a0a2cbbd95862a623e7dc5c37e67dead0.html#a0a2cbbd95862a623e7dc5c37e67dead0',1,'nlohmann::basic_json::value(const typename object_t::key_type &amp;key, ValueType default_value) const '],['../classnlohmann_1_1basic__json_af071057ebab57744f5767eb369e99d42.html#af071057ebab57744f5767eb369e99d42',1,'nlohmann::basic_json::value(const typename object_t::key_type &amp;key, const char *default_value) const '],['../classnlohmann_1_1basic__json_a5010579996e483e46bec5653d983914d.html#a5010579996e483e46bec5653d983914d',1,'nlohmann::basic_json::value(const json_pointer &amp;ptr, ValueType default_value) const '],['../classnlohmann_1_1basic__json_a24bc3d5e7fc671a406cc521fbe58e736.html#a24bc3d5e7fc671a406cc521fbe58e736',1,'nlohmann::basic_json::value(const json_pointer &amp;ptr, const char *default_value) const '],['../classnlohmann_1_1basic__json_1_1const__iterator_ac75e80d30b6169ee2a29ec93fb4d2acd.html#ac75e80d30b6169ee2a29ec93fb4d2acd',1,'nlohmann::basic_json::const_iterator::value()'],['../classnlohmann_1_1basic__json_1_1iterator_a8ffbf287736048e683f58306fdb8701f.html#a8ffbf287736048e683f58306fdb8701f',1,'nlohmann::basic_json::iterator::value()'],['../classnlohmann_1_1basic__json_1_1json__reverse__iterator_aca5116682e206dac48f8a56716a3280b.html#aca5116682e206dac48f8a56716a3280b',1,'nlohmann::basic_json::json_reverse_iterator::value()']]]
 ];
diff --git a/search/functions_c.js b/search/functions_c.js
index c324424..f767a3c 100644
--- a/search/functions_c.js
+++ b/search/functions_c.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['parse',['parse',['../classnlohmann_1_1basic__json_a35303ad045a06c2a79dc28ac29652e86.html#a35303ad045a06c2a79dc28ac29652e86',1,'nlohmann::basic_json::parse(const string_t &amp;s, parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a13c4d2ab4e7ee2f92be785a7b12948ff.html#a13c4d2ab4e7ee2f92be785a7b12948ff',1,'nlohmann::basic_json::parse(std::istream &amp;i, parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_ab81f2801779e6cb9d98770860af2e39a.html#ab81f2801779e6cb9d98770860af2e39a',1,'nlohmann::basic_json::parse(std::istream &amp;&amp;i, parser_callback_t cb=nullptr)']]],
+  ['parse',['parse',['../classnlohmann_1_1basic__json_a9a0b1acc13023170d2295eb512289080.html#a9a0b1acc13023170d2295eb512289080',1,'nlohmann::basic_json::parse(const string_t &amp;s, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a0923f9749409345a21f8cb15ee95fc0d.html#a0923f9749409345a21f8cb15ee95fc0d',1,'nlohmann::basic_json::parse(std::istream &amp;i, const parser_callback_t cb=nullptr)'],['../classnlohmann_1_1basic__json_a959bc32fc72a76cd5a1bd6977926f787.html#a959bc32fc72a76cd5a1bd6977926f787',1,'nlohmann::basic_json::parse(std::istream &amp;&amp;i, const parser_callback_t cb=nullptr)']]],
   ['patch',['patch',['../classnlohmann_1_1basic__json_aa41e1083435cf317a253947eb1ff318d.html#aa41e1083435cf317a253947eb1ff318d',1,'nlohmann::basic_json']]],
   ['push_5fback',['push_back',['../classnlohmann_1_1basic__json_a486b96adbf4886c38e38c952394a220f.html#a486b96adbf4886c38e38c952394a220f',1,'nlohmann::basic_json::push_back(basic_json &amp;&amp;val)'],['../classnlohmann_1_1basic__json_a6f3dfd3e83a1e907d7946b47fcd7ceba.html#a6f3dfd3e83a1e907d7946b47fcd7ceba',1,'nlohmann::basic_json::push_back(const basic_json &amp;val)'],['../classnlohmann_1_1basic__json_a5212588544f6d2266384c3be9bfda0c5.html#a5212588544f6d2266384c3be9bfda0c5',1,'nlohmann::basic_json::push_back(const typename object_t::value_type &amp;val)'],['../classnlohmann_1_1basic__json_a9c9b4932b26a9630e1a3f25ea42a2c43.html#a9c9b4932b26a9630e1a3f25ea42a2c43',1,'nlohmann::basic_json::push_back(std::initializer_list&lt; basic_json &gt; init)']]]
 ];
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 8069b75..d64f53a 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
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -98,7 +98,7 @@
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
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 fec6095..9299136 100644
--- a/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html
+++ b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -111,11 +111,11 @@
 struct std::hash&lt; nlohmann::json &gt;</h3>
 
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09992">9992</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l10384">10384</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 </div></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>
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 5a4f936..a3d8a68 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
@@ -25,7 +25,7 @@
  <tr style="height: 56px;">
   <td id="projectalign" style="padding-left: 0.5em;">
    <div id="projectname">JSON for Modern C++
-   &#160;<span id="projectnumber">2.0.1</span>
+   &#160;<span id="projectnumber">2.0.2</span>
    </div>
   </td>
  </tr>
@@ -112,7 +112,7 @@
 </div><div class="memdoc">
 <dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
 
-<p>Definition at line <a class="el" href="json_8hpp_source.html#l09999">9999</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
+<p>Definition at line <a class="el" href="json_8hpp_source.html#l10391">10391</a> of file <a class="el" href="json_8hpp_source.html">json.hpp</a>.</p>
 
 </div>
 </div>
@@ -122,7 +122,7 @@
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
-Generated on Wed Jun 29 2016 17:13:02 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
+Generated on Sun Jul 31 2016 13:33:08 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
 <img class="footer" src="doxygen.png" alt="doxygen"/>
 </a> 1.8.11
 </small></address>