renderd7/namespacenlohmann_1_1detail.html
2022-04-13 18:07:13 +00:00

500 lines
40 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Renderd7-nightly: nlohmann::detail Namespace Reference</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="docsn.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">Renderd7-nightly
&#160;<span id="projectnumber">v0.7.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('namespacenlohmann_1_1detail.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">nlohmann::detail Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>detail namespace with internal helper functions
<a href="namespacenlohmann_1_1detail.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacenlohmann_1_1detail_1_1dtoa__impl"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail_1_1dtoa__impl.html">dtoa_impl</a></td></tr>
<tr class="memdesc:namespacenlohmann_1_1detail_1_1dtoa__impl"><td class="mdescLeft">&#160;</td><td class="mdescRight">implements the Grisu2 algorithm for binary to decimal floating-point conversion. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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"><a class="el" href="classnlohmann_1_1detail_1_1binary__reader.html">binary_reader</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">deserialization of CBOR, MessagePack, and UBJSON values <a href="classnlohmann_1_1detail_1_1binary__reader.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">binary_writer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">serialization to CBOR and MessagePack values <a href="classnlohmann_1_1detail_1_1binary__writer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1exception.html">exception</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">general exception of the <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> class <a href="classnlohmann_1_1detail_1_1exception.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1file__input__adapter.html">file_input_adapter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1input__stream__adapter.html">input_stream_adapter</a></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"><a class="el" href="structnlohmann_1_1detail_1_1internal__iterator.html">internal_iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">an iterator value <a href="structnlohmann_1_1detail_1_1internal__iterator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1invalid__iterator.html">invalid_iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">exception indicating errors with iterators <a href="classnlohmann_1_1detail_1_1invalid__iterator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1iter__impl.html">iter_impl</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">a template for a bidirectional iterator for the <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> class This class implements a both iterators (iterator and const_iterator) for the <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> class. <a href="classnlohmann_1_1detail_1_1iter__impl.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1iteration__proxy.html">iteration_proxy</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">proxy class for the items() function <a href="classnlohmann_1_1detail_1_1iteration__proxy.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1json__reverse__iterator.html">json_reverse_iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">a template for a reverse iterator class <a href="classnlohmann_1_1detail_1_1json__reverse__iterator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1json__sax__dom__parser.html">json_sax_dom_parser</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">SAX implementation to create a JSON value from SAX events. <a href="classnlohmann_1_1detail_1_1json__sax__dom__parser.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1lexer.html">lexer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">lexical analysis <a href="classnlohmann_1_1detail_1_1lexer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1other__error.html">other_error</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">exception indicating other library errors <a href="classnlohmann_1_1detail_1_1other__error.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1out__of__range.html">out_of_range</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">exception indicating access out of the defined range <a href="classnlohmann_1_1detail_1_1out__of__range.html#details">More...</a><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"><a class="el" href="structnlohmann_1_1detail_1_1output__adapter__protocol.html">output_adapter_protocol</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">abstract output adapter interface <a href="structnlohmann_1_1detail_1_1output__adapter__protocol.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1output__stream__adapter.html">output_stream_adapter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">output adapter for output streams <a href="classnlohmann_1_1detail_1_1output__stream__adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1output__string__adapter.html">output_string_adapter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">output adapter for basic_string <a href="classnlohmann_1_1detail_1_1output__string__adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1output__vector__adapter.html">output_vector_adapter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">output adapter for byte vectors <a href="classnlohmann_1_1detail_1_1output__vector__adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1parse__error.html">parse_error</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">exception indicating a parse error <a href="classnlohmann_1_1detail_1_1parse__error.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1parser.html">parser</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">syntax analysis <a href="classnlohmann_1_1detail_1_1parser.html#details">More...</a><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"><a class="el" href="structnlohmann_1_1detail_1_1position__t.html">position_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">struct to capture the start position of the current token <a href="structnlohmann_1_1detail_1_1position__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1type__error.html">type_error</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">exception indicating executing a member function with a wrong type <a href="classnlohmann_1_1detail_1_1type__error.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a9b680ddfb58f27eb53a67229447fc556"><td class="memTemplParams" colspan="2"><a id="a9b680ddfb58f27eb53a67229447fc556"></a>
template&lt;typename CharType &gt; </td></tr>
<tr class="memitem:a9b680ddfb58f27eb53a67229447fc556"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail.html#a9b680ddfb58f27eb53a67229447fc556">output_adapter_t</a> = std::shared_ptr&lt; <a class="el" href="structnlohmann_1_1detail_1_1output__adapter__protocol.html">output_adapter_protocol</a>&lt; CharType &gt; &gt;</td></tr>
<tr class="memdesc:a9b680ddfb58f27eb53a67229447fc556"><td class="mdescLeft">&#160;</td><td class="mdescRight">a type to simplify interfaces <br /></td></tr>
<tr class="separator:a9b680ddfb58f27eb53a67229447fc556"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a1ed8fc6239da25abcaf681d30ace4985"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985">value_t</a> : std::uint8_t { <br />
&#160;&#160;<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd">value_t::null</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666">value_t::object</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985af1f713c9e000f5d3f280adbd124df4f5">value_t::array</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21">value_t::string</a>,
<br />
&#160;&#160;<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a84e2c64f38f78ba3ea5c905ab5a2da27">value_t::boolean</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc">value_t::number_integer</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e">value_t::number_unsigned</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef">value_t::number_float</a>,
<br />
&#160;&#160;<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a9d7183f16acce70658f686ae7f1a4d20">value_t::binary</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46">value_t::discarded</a>
<br />
}</td></tr>
<tr class="memdesc:a1ed8fc6239da25abcaf681d30ace4985"><td class="mdescLeft">&#160;</td><td class="mdescRight">the JSON type enumeration <a href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985">More...</a><br /></td></tr>
<tr class="separator:a1ed8fc6239da25abcaf681d30ace4985"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa554fc6a11519e4f347deb25a9f0db40"><td class="memItemLeft" align="right" valign="top"><a id="aa554fc6a11519e4f347deb25a9f0db40"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40">input_format_t</a> </td></tr>
<tr class="memdesc:aa554fc6a11519e4f347deb25a9f0db40"><td class="mdescLeft">&#160;</td><td class="mdescRight">the supported input formats <br /></td></tr>
<tr class="separator:aa554fc6a11519e4f347deb25a9f0db40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58bb1ef1a9ad287a9cfaf1855784d9ac"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9ac">cbor_tag_handler_t</a> { <a class="el" href="namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9acacb5e100e5a9a3e7f6d1fd97512215282">cbor_tag_handler_t::error</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9aca567bc1d268f135496de3d5b946b691f3">cbor_tag_handler_t::ignore</a>
}</td></tr>
<tr class="memdesc:a58bb1ef1a9ad287a9cfaf1855784d9ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">how to treat CBOR tags <a href="namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9ac">More...</a><br /></td></tr>
<tr class="separator:a58bb1ef1a9ad287a9cfaf1855784d9ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fb6dae6578e06ae73ca0d7cc8512b1a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1a">parse_event_t</a> : uint8_t { <br />
&#160;&#160;<a class="el" href="namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aae73f17027cb0acbb537f29d0a6944b26">parse_event_t::object_start</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaf63e2a2468a37aa4f394fcc3bcb8249c">parse_event_t::object_end</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaa4388a3d92419edbb1c6efd4d52461f3">parse_event_t::array_start</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa49642fb732aa2e112188fba1f9d3ef7f">parse_event_t::array_end</a>,
<br />
&#160;&#160;<a class="el" href="namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa3c6e0b8a9c15224a8228b9a98ca1531d">parse_event_t::key</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa2063c1608d6e0baf80249c42e2be5804">parse_event_t::value</a>
<br />
}</td></tr>
<tr class="separator:a2fb6dae6578e06ae73ca0d7cc8512b1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a76b60b26dc8c47256a996d18d967df"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967df">error_handler_t</a> { <a class="el" href="namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792">error_handler_t::strict</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c">error_handler_t::replace</a>,
<a class="el" href="namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3">error_handler_t::ignore</a>
}</td></tr>
<tr class="memdesc:a5a76b60b26dc8c47256a996d18d967df"><td class="mdescLeft">&#160;</td><td class="mdescRight">how to treat decoding errors <a href="namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967df">More...</a><br /></td></tr>
<tr class="separator:a5a76b60b26dc8c47256a996d18d967df"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a09169efff3bd1771fff29bd92cea19e0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail.html#a09169efff3bd1771fff29bd92cea19e0">operator&lt;</a> (const <a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985">value_t</a> lhs, const <a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985">value_t</a> rhs) noexcept</td></tr>
<tr class="memdesc:a09169efff3bd1771fff29bd92cea19e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">comparison operator for JSON types <a href="namespacenlohmann_1_1detail.html#a09169efff3bd1771fff29bd92cea19e0">More...</a><br /></td></tr>
<tr class="separator:a09169efff3bd1771fff29bd92cea19e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a679e5e522ac6afa5d5923292fab450b8"><td class="memTemplParams" colspan="2">template&lt;typename BasicJsonType &gt; </td></tr>
<tr class="memitem:a679e5e522ac6afa5d5923292fab450b8"><td class="memTemplItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail.html#a679e5e522ac6afa5d5923292fab450b8">hash</a> (const BasicJsonType &amp;j)</td></tr>
<tr class="memdesc:a679e5e522ac6afa5d5923292fab450b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">hash a JSON value <a href="namespacenlohmann_1_1detail.html#a679e5e522ac6afa5d5923292fab450b8">More...</a><br /></td></tr>
<tr class="separator:a679e5e522ac6afa5d5923292fab450b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cca370ac6c99294dbe4fe24716a57dd"><td class="memTemplParams" colspan="2">template&lt;typename FloatType &gt; </td></tr>
<tr class="memitem:a6cca370ac6c99294dbe4fe24716a57dd"><td class="memTemplItemLeft" align="right" valign="top">JSON_HEDLEY_RETURNS_NON_NULL char *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacenlohmann_1_1detail.html#a6cca370ac6c99294dbe4fe24716a57dd">to_chars</a> (char *first, const char *last, FloatType value)</td></tr>
<tr class="memdesc:a6cca370ac6c99294dbe4fe24716a57dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">generates a decimal representation of the floating-point number value in [first, last). <a href="namespacenlohmann_1_1detail.html#a6cca370ac6c99294dbe4fe24716a57dd">More...</a><br /></td></tr>
<tr class="separator:a6cca370ac6c99294dbe4fe24716a57dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>detail namespace with internal helper functions </p>
<p>This namespace collects functions that should not be exposed, implementations of some <a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a> methods, and meta-programming helpers.</p>
<dl class="section since"><dt>Since</dt><dd>version 2.1.0 </dd></dl>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a1ed8fc6239da25abcaf681d30ace4985"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ed8fc6239da25abcaf681d30ace4985">&#9670;&nbsp;</a></span>value_t</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985">nlohmann::detail::value_t</a> : std::uint8_t</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>the JSON type enumeration </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.html#afe9a6fe72337a174cfb117a2081d2cfc">basic_json::is_null()</a>, <a class="el" href="classnlohmann_1_1basic__json.html#ae3300a95d3bb4a55cb0e04b9f125e42f">basic_json::is_object()</a>, <a class="el" href="classnlohmann_1_1basic__json.html#a1859e0c783a24df797b758e3fc21b966">basic_json::is_array()</a>, <a class="el" href="classnlohmann_1_1basic__json.html#ae958b0bc067c82850145299711d8bcd5">basic_json::is_string()</a>, <a class="el" href="classnlohmann_1_1basic__json.html#a0bd23e6f679145905a78020c07547559">basic_json::is_boolean()</a>, <a class="el" href="classnlohmann_1_1basic__json.html#a5d5f20be10c6f6d263557def2ac504a3">basic_json::is_number()</a> (with <a class="el" href="classnlohmann_1_1basic__json.html#a145005bad4fcab4f8620efec8de019ad">basic_json::is_number_integer()</a>, <a class="el" href="classnlohmann_1_1basic__json.html#ac45bc02fd5f4f136f522844222012adc">basic_json::is_number_unsigned()</a>, and <a class="el" href="classnlohmann_1_1basic__json.html#a926df0038ca14568f88a92d0caeba044">basic_json::is_number_float()</a>), <a class="el" href="classnlohmann_1_1basic__json.html#a4fce66d66c424052b192ba45e08a661d">basic_json::is_discarded()</a>, <a class="el" href="classnlohmann_1_1basic__json.html#a422885c85f603a13c36f8d0ac5d9f278">basic_json::is_primitive()</a>, and <a class="el" href="classnlohmann_1_1basic__json.html#a5a53e5a09d9123bfeed6f664b1334f8c">basic_json::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.html#a440094de5ef4e119b2771b549b33da70">basic_json::number_unsigned_t</a> is used for unsigned integers, <a class="el" href="classnlohmann_1_1basic__json.html#ab227d71ad47b6ed6a3acae52dedbb49d">basic_json::number_integer_t</a> is used for signed integers, and <a class="el" href="classnlohmann_1_1basic__json.html#ade1eb06e9fc3ff2ba1efd709b94b401d">basic_json::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.html#ad886f4baa2efb7ac6b0ca70dc72f3d18">basic_json::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 id="a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd"></a>null&#160;</td><td class="fielddoc"><p>null value </p>
</td></tr>
<tr><td class="fieldname"><a id="a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666"></a>object&#160;</td><td class="fielddoc"><p>object (unordered set of name/value pairs) </p>
</td></tr>
<tr><td class="fieldname"><a id="a1ed8fc6239da25abcaf681d30ace4985af1f713c9e000f5d3f280adbd124df4f5"></a>array&#160;</td><td class="fielddoc"><p>array (ordered collection of values) </p>
</td></tr>
<tr><td class="fieldname"><a id="a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21"></a>string&#160;</td><td class="fielddoc"><p>string value </p>
</td></tr>
<tr><td class="fieldname"><a id="a1ed8fc6239da25abcaf681d30ace4985a84e2c64f38f78ba3ea5c905ab5a2da27"></a>boolean&#160;</td><td class="fielddoc"><p>boolean value </p>
</td></tr>
<tr><td class="fieldname"><a id="a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc"></a>number_integer&#160;</td><td class="fielddoc"><p>number value (signed integer) </p>
</td></tr>
<tr><td class="fieldname"><a id="a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e"></a>number_unsigned&#160;</td><td class="fielddoc"><p>number value (unsigned integer) </p>
</td></tr>
<tr><td class="fieldname"><a id="a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef"></a>number_float&#160;</td><td class="fielddoc"><p>number value (floating-point) </p>
</td></tr>
<tr><td class="fieldname"><a id="a1ed8fc6239da25abcaf681d30ace4985a9d7183f16acce70658f686ae7f1a4d20"></a>binary&#160;</td><td class="fielddoc"><p>binary array (ordered collection of bytes) </p>
</td></tr>
<tr><td class="fieldname"><a id="a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46"></a>discarded&#160;</td><td class="fielddoc"><p>discarded by the parser callback function </p>
</td></tr>
</table>
</div>
</div>
<a id="a58bb1ef1a9ad287a9cfaf1855784d9ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58bb1ef1a9ad287a9cfaf1855784d9ac">&#9670;&nbsp;</a></span>cbor_tag_handler_t</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9ac">nlohmann::detail::cbor_tag_handler_t</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>how to treat CBOR tags </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a58bb1ef1a9ad287a9cfaf1855784d9acacb5e100e5a9a3e7f6d1fd97512215282"></a>error&#160;</td><td class="fielddoc"><p>throw a <a class="el" href="classnlohmann_1_1detail_1_1parse__error.html" title="exception indicating a parse error">parse_error</a> exception in case of a tag </p>
</td></tr>
<tr><td class="fieldname"><a id="a58bb1ef1a9ad287a9cfaf1855784d9aca567bc1d268f135496de3d5b946b691f3"></a>ignore&#160;</td><td class="fielddoc"><p>ignore tags </p>
</td></tr>
</table>
</div>
</div>
<a id="a2fb6dae6578e06ae73ca0d7cc8512b1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fb6dae6578e06ae73ca0d7cc8512b1a">&#9670;&nbsp;</a></span>parse_event_t</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1a">nlohmann::detail::parse_event_t</a> : uint8_t</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2fb6dae6578e06ae73ca0d7cc8512b1aae73f17027cb0acbb537f29d0a6944b26"></a>object_start&#160;</td><td class="fielddoc"><p>the parser read <code>{</code> and started to process a JSON object </p>
</td></tr>
<tr><td class="fieldname"><a id="a2fb6dae6578e06ae73ca0d7cc8512b1aaf63e2a2468a37aa4f394fcc3bcb8249c"></a>object_end&#160;</td><td class="fielddoc"><p>the parser read <code>}</code> and finished processing a JSON object </p>
</td></tr>
<tr><td class="fieldname"><a id="a2fb6dae6578e06ae73ca0d7cc8512b1aaa4388a3d92419edbb1c6efd4d52461f3"></a>array_start&#160;</td><td class="fielddoc"><p>the parser read <code>[</code> and started to process a JSON array </p>
</td></tr>
<tr><td class="fieldname"><a id="a2fb6dae6578e06ae73ca0d7cc8512b1aa49642fb732aa2e112188fba1f9d3ef7f"></a>array_end&#160;</td><td class="fielddoc"><p>the parser read <code>]</code> and finished processing a JSON array </p>
</td></tr>
<tr><td class="fieldname"><a id="a2fb6dae6578e06ae73ca0d7cc8512b1aa3c6e0b8a9c15224a8228b9a98ca1531d"></a>key&#160;</td><td class="fielddoc"><p>the parser read a key of a value in an object </p>
</td></tr>
<tr><td class="fieldname"><a id="a2fb6dae6578e06ae73ca0d7cc8512b1aa2063c1608d6e0baf80249c42e2be5804"></a>value&#160;</td><td class="fielddoc"><p>the parser finished reading a JSON value </p>
</td></tr>
</table>
</div>
</div>
<a id="a5a76b60b26dc8c47256a996d18d967df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a76b60b26dc8c47256a996d18d967df">&#9670;&nbsp;</a></span>error_handler_t</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967df">nlohmann::detail::error_handler_t</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>how to treat decoding errors </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792"></a>strict&#160;</td><td class="fielddoc"><p>throw a <a class="el" href="classnlohmann_1_1detail_1_1type__error.html" title="exception indicating executing a member function with a wrong type">type_error</a> exception in case of invalid UTF-8 </p>
</td></tr>
<tr><td class="fieldname"><a id="a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c"></a>replace&#160;</td><td class="fielddoc"><p>replace invalid UTF-8 sequences with U+FFFD </p>
</td></tr>
<tr><td class="fieldname"><a id="a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3"></a>ignore&#160;</td><td class="fielddoc"><p>ignore invalid UTF-8 sequences </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a09169efff3bd1771fff29bd92cea19e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09169efff3bd1771fff29bd92cea19e0">&#9670;&nbsp;</a></span>operator&lt;()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool nlohmann::detail::operator&lt; </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985">value_t</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985">value_t</a>&#160;</td>
<td class="paramname"><em>rhs</em>&#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">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>comparison operator for JSON types </p>
<p>Returns an ordering that is similar to Python:</p><ul>
<li>order: null &lt; boolean &lt; number &lt; object &lt; array &lt; string &lt; binary</li>
<li>furthermore, each type is not smaller than itself</li>
<li>discarded values are not comparable</li>
<li>binary is represented as a b"" string in python and directly comparable to a string; however, making a binary array directly comparable with a string would be surprising behavior in a JSON file.</li>
</ul>
<dl class="section since"><dt>Since</dt><dd>version 1.0.0 </dd></dl>
</div>
</div>
<a id="a679e5e522ac6afa5d5923292fab450b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a679e5e522ac6afa5d5923292fab450b8">&#9670;&nbsp;</a></span>hash()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType &gt; </div>
<table class="memname">
<tr>
<td class="memname">std::size_t nlohmann::detail::hash </td>
<td>(</td>
<td class="paramtype">const BasicJsonType &amp;&#160;</td>
<td class="paramname"><em>j</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>hash a JSON value </p>
<p>The hash function tries to rely on std::hash where possible. Furthermore, the type of the JSON value is taken into account to have different hash values for null, 0, 0U, and false, etc.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">BasicJsonType</td><td><a class="el" href="classnlohmann_1_1basic__json.html" title="a class to store JSON values">basic_json</a> specialization </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">j</td><td>JSON value to hash </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>hash value of j </dd></dl>
</div>
</div>
<a id="a6cca370ac6c99294dbe4fe24716a57dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cca370ac6c99294dbe4fe24716a57dd">&#9670;&nbsp;</a></span>to_chars()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename FloatType &gt; </div>
<table class="memname">
<tr>
<td class="memname">JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::to_chars </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>last</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FloatType&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>generates a decimal representation of the floating-point number value in [first, last). </p>
<p>The format of the resulting decimal representation is similar to printf's g format. Returns an iterator pointing past-the-end of the decimal representation.</p>
<dl class="section note"><dt>Note</dt><dd>The input number must be finite, i.e. NaN's and Inf's are not supported. </dd>
<dd>
The buffer must be large enough. </dd>
<dd>
The result is NOT null-terminated. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacenlohmann.html">nlohmann</a></li><li class="navelem"><a class="el" href="namespacenlohmann_1_1detail.html">detail</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>