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

720 lines
42 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::binary_writer&lt; BasicJsonType, CharType &gt; Class Template 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('classnlohmann_1_1detail_1_1binary__writer.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classnlohmann_1_1detail_1_1binary__writer-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">nlohmann::detail::binary_writer&lt; BasicJsonType, CharType &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>serialization to CBOR and MessagePack values
<a href="classnlohmann_1_1detail_1_1binary__writer.html#details">More...</a></p>
<p><code>#include &lt;json.hpp&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a373289af95a946c19bb4a58a5df71a78"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a373289af95a946c19bb4a58a5df71a78">binary_writer</a> (<a class="el" href="namespacenlohmann_1_1detail.html#a9b680ddfb58f27eb53a67229447fc556">output_adapter_t</a>&lt; CharType &gt; adapter)</td></tr>
<tr class="memdesc:a373289af95a946c19bb4a58a5df71a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">create a binary writer <a href="classnlohmann_1_1detail_1_1binary__writer.html#a373289af95a946c19bb4a58a5df71a78">More...</a><br /></td></tr>
<tr class="separator:a373289af95a946c19bb4a58a5df71a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ffc566db5219b473762462234b47db9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a9ffc566db5219b473762462234b47db9">write_bson</a> (const BasicJsonType &amp;j)</td></tr>
<tr class="separator:a9ffc566db5219b473762462234b47db9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0ab8d27fd88a33a2f801413ac4c7fbc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#aa0ab8d27fd88a33a2f801413ac4c7fbc">write_cbor</a> (const BasicJsonType &amp;j)</td></tr>
<tr class="separator:aa0ab8d27fd88a33a2f801413ac4c7fbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4e0852b64102ce4b07d99f08f828b7c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#ae4e0852b64102ce4b07d99f08f828b7c">write_msgpack</a> (const BasicJsonType &amp;j)</td></tr>
<tr class="separator:ae4e0852b64102ce4b07d99f08f828b7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f6c65053d859269f88eb4ebb0cd7060"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a0f6c65053d859269f88eb4ebb0cd7060">write_ubjson</a> (const BasicJsonType &amp;j, const bool use_count, const bool use_type, const bool add_prefix=true)</td></tr>
<tr class="separator:a0f6c65053d859269f88eb4ebb0cd7060"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a1b5b7f5c03b1f8b1f59ea61db9634108"><td class="memItemLeft" align="right" valign="top"><a id="a1b5b7f5c03b1f8b1f59ea61db9634108"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a1b5b7f5c03b1f8b1f59ea61db9634108">write_bson_entry_header</a> (const string_t &amp;name, const std::uint8_t element_type)</td></tr>
<tr class="memdesc:a1b5b7f5c03b1f8b1f59ea61db9634108"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the given <em>element_type</em> and <em>name</em> to the output adapter. <br /></td></tr>
<tr class="separator:a1b5b7f5c03b1f8b1f59ea61db9634108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae099435e1df3096e0fc78333282f8f67"><td class="memItemLeft" align="right" valign="top"><a id="ae099435e1df3096e0fc78333282f8f67"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#ae099435e1df3096e0fc78333282f8f67">write_bson_boolean</a> (const string_t &amp;name, const bool value)</td></tr>
<tr class="memdesc:ae099435e1df3096e0fc78333282f8f67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a BSON element with key <em>name</em> and boolean value <em>value</em>. <br /></td></tr>
<tr class="separator:ae099435e1df3096e0fc78333282f8f67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a263ec18815467bb9919021ef126919ca"><td class="memItemLeft" align="right" valign="top"><a id="a263ec18815467bb9919021ef126919ca"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a263ec18815467bb9919021ef126919ca">write_bson_double</a> (const string_t &amp;name, const double value)</td></tr>
<tr class="memdesc:a263ec18815467bb9919021ef126919ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a BSON element with key <em>name</em> and double value <em>value</em>. <br /></td></tr>
<tr class="separator:a263ec18815467bb9919021ef126919ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e6574416915208fc035b57338ae3252"><td class="memItemLeft" align="right" valign="top"><a id="a5e6574416915208fc035b57338ae3252"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a5e6574416915208fc035b57338ae3252">write_bson_string</a> (const string_t &amp;name, const string_t &amp;value)</td></tr>
<tr class="memdesc:a5e6574416915208fc035b57338ae3252"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a BSON element with key <em>name</em> and string value <em>value</em>. <br /></td></tr>
<tr class="separator:a5e6574416915208fc035b57338ae3252"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9927c1110b18661e0224a76156e5a7a9"><td class="memItemLeft" align="right" valign="top"><a id="a9927c1110b18661e0224a76156e5a7a9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a9927c1110b18661e0224a76156e5a7a9">write_bson_null</a> (const string_t &amp;name)</td></tr>
<tr class="memdesc:a9927c1110b18661e0224a76156e5a7a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a BSON element with key <em>name</em> and null value. <br /></td></tr>
<tr class="separator:a9927c1110b18661e0224a76156e5a7a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a553ad4dbdf27238eef90867e4bf2f3e5"><td class="memItemLeft" align="right" valign="top"><a id="a553ad4dbdf27238eef90867e4bf2f3e5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a553ad4dbdf27238eef90867e4bf2f3e5">write_bson_integer</a> (const string_t &amp;name, const std::int64_t value)</td></tr>
<tr class="memdesc:a553ad4dbdf27238eef90867e4bf2f3e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a BSON element with key <em>name</em> and integer <em>value</em>. <br /></td></tr>
<tr class="separator:a553ad4dbdf27238eef90867e4bf2f3e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e295ed1be6af6260d2a65f7397c3742"><td class="memItemLeft" align="right" valign="top"><a id="a5e295ed1be6af6260d2a65f7397c3742"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a5e295ed1be6af6260d2a65f7397c3742">write_bson_unsigned</a> (const string_t &amp;name, const std::uint64_t value)</td></tr>
<tr class="memdesc:a5e295ed1be6af6260d2a65f7397c3742"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a BSON element with key <em>name</em> and unsigned <em>value</em>. <br /></td></tr>
<tr class="separator:a5e295ed1be6af6260d2a65f7397c3742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6231302930265eccb3f56c378f7b0661"><td class="memItemLeft" align="right" valign="top"><a id="a6231302930265eccb3f56c378f7b0661"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a6231302930265eccb3f56c378f7b0661">write_bson_object_entry</a> (const string_t &amp;name, const typename BasicJsonType::object_t &amp;value)</td></tr>
<tr class="memdesc:a6231302930265eccb3f56c378f7b0661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a BSON element with key <em>name</em> and object <em>value</em>. <br /></td></tr>
<tr class="separator:a6231302930265eccb3f56c378f7b0661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a025212bd170253638b9f05b3b6aa5bf9"><td class="memItemLeft" align="right" valign="top"><a id="a025212bd170253638b9f05b3b6aa5bf9"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a025212bd170253638b9f05b3b6aa5bf9">write_bson_array</a> (const string_t &amp;name, const typename BasicJsonType::array_t &amp;value)</td></tr>
<tr class="memdesc:a025212bd170253638b9f05b3b6aa5bf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a BSON element with key <em>name</em> and array <em>value</em>. <br /></td></tr>
<tr class="separator:a025212bd170253638b9f05b3b6aa5bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97d34d9a70ddc06ae782c55454df42bc"><td class="memItemLeft" align="right" valign="top"><a id="a97d34d9a70ddc06ae782c55454df42bc"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a97d34d9a70ddc06ae782c55454df42bc">write_bson_binary</a> (const string_t &amp;name, const binary_t &amp;value)</td></tr>
<tr class="memdesc:a97d34d9a70ddc06ae782c55454df42bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a BSON element with key <em>name</em> and binary value <em>value</em>. <br /></td></tr>
<tr class="separator:a97d34d9a70ddc06ae782c55454df42bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ff58bf1a80018148bed860667ffca07"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a7ff58bf1a80018148bed860667ffca07">write_bson_element</a> (const string_t &amp;name, const BasicJsonType &amp;j)</td></tr>
<tr class="memdesc:a7ff58bf1a80018148bed860667ffca07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes the JSON value <em>j</em> to BSON and associates it with the key <em>name</em>. <a href="classnlohmann_1_1detail_1_1binary__writer.html#a7ff58bf1a80018148bed860667ffca07">More...</a><br /></td></tr>
<tr class="separator:a7ff58bf1a80018148bed860667ffca07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29b3e0f83a8e5f2307804023109ba2c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a29b3e0f83a8e5f2307804023109ba2c9">write_bson_object</a> (const typename BasicJsonType::object_t &amp;value)</td></tr>
<tr class="separator:a29b3e0f83a8e5f2307804023109ba2c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c129249a5aee8e4ec8add6c6184e4f7"><td class="memItemLeft" align="right" valign="top"><a id="a4c129249a5aee8e4ec8add6c6184e4f7"></a>
CharType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a4c129249a5aee8e4ec8add6c6184e4f7">ubjson_prefix</a> (const BasicJsonType &amp;j) const noexcept</td></tr>
<tr class="memdesc:a4c129249a5aee8e4ec8add6c6184e4f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">determine the type prefix of container values <br /></td></tr>
<tr class="separator:a4c129249a5aee8e4ec8add6c6184e4f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a5bae2f1db2c511b869dffaddf15a1653"><td class="memItemLeft" align="right" valign="top">static std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a5bae2f1db2c511b869dffaddf15a1653">calc_bson_entry_header_size</a> (const string_t &amp;name)</td></tr>
<tr class="separator:a5bae2f1db2c511b869dffaddf15a1653"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea44fd97a5cb9b4f175e66e3e4fdf158"><td class="memItemLeft" align="right" valign="top">static std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#aea44fd97a5cb9b4f175e66e3e4fdf158">calc_bson_string_size</a> (const string_t &amp;value)</td></tr>
<tr class="separator:aea44fd97a5cb9b4f175e66e3e4fdf158"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeab70c895931b96ea598306b37eca271"><td class="memItemLeft" align="right" valign="top">static std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#aeab70c895931b96ea598306b37eca271">calc_bson_integer_size</a> (const std::int64_t value)</td></tr>
<tr class="separator:aeab70c895931b96ea598306b37eca271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1d6bb9f3af16f07ce2440c354b5787b"><td class="memItemLeft" align="right" valign="top">static constexpr std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#aa1d6bb9f3af16f07ce2440c354b5787b">calc_bson_unsigned_size</a> (const std::uint64_t value) noexcept</td></tr>
<tr class="separator:aa1d6bb9f3af16f07ce2440c354b5787b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af08f9302a02516ff8cf358a99aaa1ddf"><td class="memItemLeft" align="right" valign="top">static std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#af08f9302a02516ff8cf358a99aaa1ddf">calc_bson_array_size</a> (const typename BasicJsonType::array_t &amp;value)</td></tr>
<tr class="separator:af08f9302a02516ff8cf358a99aaa1ddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dd6062fd249a695e0f93d558dba4685"><td class="memItemLeft" align="right" valign="top">static std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a9dd6062fd249a695e0f93d558dba4685">calc_bson_binary_size</a> (const typename BasicJsonType::binary_t &amp;value)</td></tr>
<tr class="separator:a9dd6062fd249a695e0f93d558dba4685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e4372c5984184eb5bcc09af1fcc2ee0"><td class="memItemLeft" align="right" valign="top">static std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a1e4372c5984184eb5bcc09af1fcc2ee0">calc_bson_element_size</a> (const string_t &amp;name, const BasicJsonType &amp;j)</td></tr>
<tr class="memdesc:a1e4372c5984184eb5bcc09af1fcc2ee0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the size necessary to serialize the JSON value <em>j</em> with its <em>name</em>. <a href="classnlohmann_1_1detail_1_1binary__writer.html#a1e4372c5984184eb5bcc09af1fcc2ee0">More...</a><br /></td></tr>
<tr class="separator:a1e4372c5984184eb5bcc09af1fcc2ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc6f1cc1fd370ee84ebc8cf7b8712840"><td class="memItemLeft" align="right" valign="top">static std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#acc6f1cc1fd370ee84ebc8cf7b8712840">calc_bson_object_size</a> (const typename BasicJsonType::object_t &amp;value)</td></tr>
<tr class="memdesc:acc6f1cc1fd370ee84ebc8cf7b8712840"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the size of the BSON serialization of the given JSON-object <em>j</em>. <a href="classnlohmann_1_1detail_1_1binary__writer.html#acc6f1cc1fd370ee84ebc8cf7b8712840">More...</a><br /></td></tr>
<tr class="separator:acc6f1cc1fd370ee84ebc8cf7b8712840"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a048887c907afe39759b777e8c888414c"><td class="memItemLeft" align="right" valign="top"><a id="a048887c907afe39759b777e8c888414c"></a>
const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a048887c907afe39759b777e8c888414c">is_little_endian</a> = little_endianess()</td></tr>
<tr class="memdesc:a048887c907afe39759b777e8c888414c"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether we can assume little endianess <br /></td></tr>
<tr class="separator:a048887c907afe39759b777e8c888414c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f15b782a7900f50ef37d123008e601b"><td class="memItemLeft" align="right" valign="top"><a id="a6f15b782a7900f50ef37d123008e601b"></a>
<a class="el" href="namespacenlohmann_1_1detail.html#a9b680ddfb58f27eb53a67229447fc556">output_adapter_t</a>&lt; CharType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html#a6f15b782a7900f50ef37d123008e601b">oa</a> = nullptr</td></tr>
<tr class="memdesc:a6f15b782a7900f50ef37d123008e601b"><td class="mdescLeft">&#160;</td><td class="mdescRight">the output <br /></td></tr>
<tr class="separator:a6f15b782a7900f50ef37d123008e601b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename BasicJsonType, typename CharType&gt;<br />
class nlohmann::detail::binary_writer&lt; BasicJsonType, CharType &gt;</h3>
<p>serialization to CBOR and MessagePack values </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a373289af95a946c19bb4a58a5df71a78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a373289af95a946c19bb4a58a5df71a78">&#9670;&nbsp;</a></span>binary_writer()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::<a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">binary_writer</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacenlohmann_1_1detail.html#a9b680ddfb58f27eb53a67229447fc556">output_adapter_t</a>&lt; CharType &gt;&#160;</td>
<td class="paramname"><em>adapter</em></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">
<p>create a binary writer </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">adapter</td><td>output adapter to write to </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a9ffc566db5219b473762462234b47db9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ffc566db5219b473762462234b47db9">&#9670;&nbsp;</a></span>write_bson()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::write_bson </td>
<td>(</td>
<td class="paramtype">const BasicJsonType &amp;&#160;</td>
<td class="paramname"><em>j</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</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">j</td><td>JSON value to serialize </td></tr>
</table>
</dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd>j.type() == <a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666" title="object (unordered set of name/value pairs)">value_t::object</a> </dd></dl>
</div>
</div>
<a id="aa0ab8d27fd88a33a2f801413ac4c7fbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0ab8d27fd88a33a2f801413ac4c7fbc">&#9670;&nbsp;</a></span>write_cbor()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::write_cbor </td>
<td>(</td>
<td class="paramtype">const BasicJsonType &amp;&#160;</td>
<td class="paramname"><em>j</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</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">j</td><td>JSON value to serialize </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae4e0852b64102ce4b07d99f08f828b7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4e0852b64102ce4b07d99f08f828b7c">&#9670;&nbsp;</a></span>write_msgpack()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::write_msgpack </td>
<td>(</td>
<td class="paramtype">const BasicJsonType &amp;&#160;</td>
<td class="paramname"><em>j</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</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">j</td><td>JSON value to serialize </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0f6c65053d859269f88eb4ebb0cd7060"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f6c65053d859269f88eb4ebb0cd7060">&#9670;&nbsp;</a></span>write_ubjson()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::write_ubjson </td>
<td>(</td>
<td class="paramtype">const BasicJsonType &amp;&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>use_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>use_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>add_prefix</em> = <code>true</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> </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">j</td><td>JSON value to serialize </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">use_count</td><td>whether to use '#' prefixes (optimized format) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">use_type</td><td>whether to use '$' prefixes (optimized format) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">add_prefix</td><td>whether prefixes need to be used for this value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5bae2f1db2c511b869dffaddf15a1653"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bae2f1db2c511b869dffaddf15a1653">&#9670;&nbsp;</a></span>calc_bson_entry_header_size()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::size_t <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::calc_bson_entry_header_size </td>
<td>(</td>
<td class="paramtype">const string_t &amp;&#160;</td>
<td class="paramname"><em>name</em></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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The size of a BSON document entry header, including the id marker and the entry name size (and its null-terminator). </dd></dl>
</div>
</div>
<a id="aea44fd97a5cb9b4f175e66e3e4fdf158"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea44fd97a5cb9b4f175e66e3e4fdf158">&#9670;&nbsp;</a></span>calc_bson_string_size()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::size_t <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::calc_bson_string_size </td>
<td>(</td>
<td class="paramtype">const string_t &amp;&#160;</td>
<td class="paramname"><em>value</em></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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The size of the BSON-encoded string in <em>value</em> </dd></dl>
</div>
</div>
<a id="aeab70c895931b96ea598306b37eca271"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeab70c895931b96ea598306b37eca271">&#9670;&nbsp;</a></span>calc_bson_integer_size()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::size_t <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::calc_bson_integer_size </td>
<td>(</td>
<td class="paramtype">const std::int64_t&#160;</td>
<td class="paramname"><em>value</em></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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The size of the BSON-encoded integer <em>value</em> </dd></dl>
</div>
</div>
<a id="aa1d6bb9f3af16f07ce2440c354b5787b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1d6bb9f3af16f07ce2440c354b5787b">&#9670;&nbsp;</a></span>calc_bson_unsigned_size()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static constexpr std::size_t <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::calc_bson_unsigned_size </td>
<td>(</td>
<td class="paramtype">const std::uint64_t&#160;</td>
<td class="paramname"><em>value</em></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 class="mlabel">constexpr</span><span class="mlabel">private</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The size of the BSON-encoded unsigned integer in <em>j</em> </dd></dl>
</div>
</div>
<a id="af08f9302a02516ff8cf358a99aaa1ddf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af08f9302a02516ff8cf358a99aaa1ddf">&#9670;&nbsp;</a></span>calc_bson_array_size()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::size_t <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::calc_bson_array_size </td>
<td>(</td>
<td class="paramtype">const typename BasicJsonType::array_t &amp;&#160;</td>
<td class="paramname"><em>value</em></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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The size of the BSON-encoded array <em>value</em> </dd></dl>
</div>
</div>
<a id="a9dd6062fd249a695e0f93d558dba4685"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dd6062fd249a695e0f93d558dba4685">&#9670;&nbsp;</a></span>calc_bson_binary_size()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::size_t <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::calc_bson_binary_size </td>
<td>(</td>
<td class="paramtype">const typename BasicJsonType::binary_t &amp;&#160;</td>
<td class="paramname"><em>value</em></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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The size of the BSON-encoded binary array <em>value</em> </dd></dl>
</div>
</div>
<a id="a1e4372c5984184eb5bcc09af1fcc2ee0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e4372c5984184eb5bcc09af1fcc2ee0">&#9670;&nbsp;</a></span>calc_bson_element_size()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::size_t <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::calc_bson_element_size </td>
<td>(</td>
<td class="paramtype">const string_t &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const BasicJsonType &amp;&#160;</td>
<td class="paramname"><em>j</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">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates the size necessary to serialize the JSON value <em>j</em> with its <em>name</em>. </p>
<dl class="section return"><dt>Returns</dt><dd>The calculated size for the BSON document entry for <em>j</em> with the given <em>name</em>. </dd></dl>
</div>
</div>
<a id="a7ff58bf1a80018148bed860667ffca07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ff58bf1a80018148bed860667ffca07">&#9670;&nbsp;</a></span>write_bson_element()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::write_bson_element </td>
<td>(</td>
<td class="paramtype">const string_t &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const BasicJsonType &amp;&#160;</td>
<td class="paramname"><em>j</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">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Serializes the JSON value <em>j</em> to BSON and associates it with the key <em>name</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>The name to associate with the JSON entity <em>j</em> within the current BSON document </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The size of the BSON entry </dd></dl>
</div>
</div>
<a id="acc6f1cc1fd370ee84ebc8cf7b8712840"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc6f1cc1fd370ee84ebc8cf7b8712840">&#9670;&nbsp;</a></span>calc_bson_object_size()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::size_t <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::calc_bson_object_size </td>
<td>(</td>
<td class="paramtype">const typename BasicJsonType::object_t &amp;&#160;</td>
<td class="paramname"><em>value</em></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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates the size of the BSON serialization of the given JSON-object <em>j</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">j</td><td>JSON value to serialize </td></tr>
</table>
</dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd>j.type() == <a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666" title="object (unordered set of name/value pairs)">value_t::object</a> </dd></dl>
</div>
</div>
<a id="a29b3e0f83a8e5f2307804023109ba2c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29b3e0f83a8e5f2307804023109ba2c9">&#9670;&nbsp;</a></span>write_bson_object()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename BasicJsonType , typename CharType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">nlohmann::detail::binary_writer</a>&lt; BasicJsonType, CharType &gt;::write_bson_object </td>
<td>(</td>
<td class="paramtype">const typename BasicJsonType::object_t &amp;&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</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">j</td><td>JSON value to serialize </td></tr>
</table>
</dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd>j.type() == <a class="el" href="namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666" title="object (unordered set of name/value pairs)">value_t::object</a> </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="navelem"><a class="el" href="classnlohmann_1_1detail_1_1binary__writer.html">binary_writer</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>