mirror of
https://github.com/USCiLab/cereal.git
synced 2025-07-21 02:12:01 +02:00
365 lines
36 KiB
HTML
365 lines
36 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>cereal: cereal::JSONInputArchive Class 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="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>
|
|
<link href="doxygen.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">cereal
|
|
</div>
|
|
<div id="projectbrief">A C++11 library for serialization</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.17 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></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"><b>cereal</b></li><li class="navelem"><a class="el" href="classcereal_1_1JSONInputArchive.html">JSONInputArchive</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="classcereal_1_1JSONInputArchive-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">cereal::JSONInputArchive Class Reference<div class="ingroups"><a class="el" href="group__Archives.html">Input and Output Archive Types</a></div></div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>An input archive designed to load data from JSON.
|
|
<a href="classcereal_1_1JSONInputArchive.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="json_8hpp_source.html">/home/shane/workspace/cereal/include/cereal/archives/json.hpp</a>></code></p>
|
|
<div class="dynheader">
|
|
Inheritance diagram for cereal::JSONInputArchive:</div>
|
|
<div class="dyncontent">
|
|
<div class="center">
|
|
<img src="classcereal_1_1JSONInputArchive.png" usemap="#cereal::JSONInputArchive_map" alt=""/>
|
|
<map id="cereal::JSONInputArchive_map" name="cereal::JSONInputArchive_map">
|
|
<area href="classcereal_1_1InputArchive.html" alt="cereal::InputArchive< JSONInputArchive >" shape="rect" coords="0,56,256,80"/>
|
|
<area href="structcereal_1_1traits_1_1TextArchive.html" title="Type traits only struct used to mark an archive as human readable (text based)" alt="cereal::traits::TextArchive" shape="rect" coords="266,56,522,80"/>
|
|
<area href="classcereal_1_1detail_1_1InputArchiveBase.html" alt="cereal::detail::InputArchiveBase" shape="rect" coords="0,0,256,24"/>
|
|
</map>
|
|
</div></div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr><td colspan="2"><div class="groupHeader">Common Functionality</div></td></tr>
|
|
<tr><td colspan="2"><div class="groupText"><p>Common use cases for directly interacting with an <a class="el" href="classcereal_1_1JSONInputArchive.html" title="An input archive designed to load data from JSON.">JSONInputArchive</a> </p>
|
|
</div></td></tr>
|
|
<tr class="memitem:a3ae0714f99d4014117026749135860e3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1JSONInputArchive.html#a3ae0714f99d4014117026749135860e3">JSONInputArchive</a> (std::istream &stream)</td></tr>
|
|
<tr class="memdesc:a3ae0714f99d4014117026749135860e3"><td class="mdescLeft"> </td><td class="mdescRight">Construct, reading from the provided stream. <a href="classcereal_1_1JSONInputArchive.html#a3ae0714f99d4014117026749135860e3">More...</a><br /></td></tr>
|
|
<tr class="separator:a3ae0714f99d4014117026749135860e3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2fa81c1948db8452fab39e3a85be2497"><td class="memItemLeft" align="right" valign="top"><a id="a2fa81c1948db8452fab39e3a85be2497"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><b>~JSONInputArchive</b> () <a class="el" href="macros_8hpp.html#a6c37b2307b83bbe2a3de58d78a2b8c0b">CEREAL_NOEXCEPT</a>=default</td></tr>
|
|
<tr class="separator:a2fa81c1948db8452fab39e3a85be2497"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a618425a8a54490a0f1d16f464dd7717e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1JSONInputArchive.html#a618425a8a54490a0f1d16f464dd7717e">loadBinaryValue</a> (void *data, size_t size, const char *name=nullptr)</td></tr>
|
|
<tr class="memdesc:a618425a8a54490a0f1d16f464dd7717e"><td class="mdescLeft"> </td><td class="mdescRight">Loads some binary data, encoded as a base64 string. <a href="classcereal_1_1JSONInputArchive.html#a618425a8a54490a0f1d16f464dd7717e">More...</a><br /></td></tr>
|
|
<tr class="separator:a618425a8a54490a0f1d16f464dd7717e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="inherit_header pub_methods_classcereal_1_1InputArchive"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcereal_1_1InputArchive')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classcereal_1_1InputArchive.html">cereal::InputArchive< JSONInputArchive ></a></td></tr>
|
|
<tr class="memitem:a76455fba49795d1676664f634918c580 inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#a76455fba49795d1676664f634918c580">InputArchive</a> (<a class="el" href="classcereal_1_1JSONInputArchive.html">JSONInputArchive</a> *const derived)</td></tr>
|
|
<tr class="memdesc:a76455fba49795d1676664f634918c580 inherit pub_methods_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Construct the output archive. <a href="classcereal_1_1InputArchive.html#a76455fba49795d1676664f634918c580">More...</a><br /></td></tr>
|
|
<tr class="separator:a76455fba49795d1676664f634918c580 inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1878bd30caccaf495bcb5062756559a4 inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top"><a id="a1878bd30caccaf495bcb5062756559a4"></a>
|
|
<a class="el" href="classcereal_1_1InputArchive.html">InputArchive</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classcereal_1_1InputArchive.html">InputArchive</a> const &)=delete</td></tr>
|
|
<tr class="separator:a1878bd30caccaf495bcb5062756559a4 inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a21bf0587ab9749e2afde4bb51d8988ec inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcereal_1_1JSONInputArchive.html">JSONInputArchive</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#a21bf0587ab9749e2afde4bb51d8988ec">operator()</a> (Types &&... args)</td></tr>
|
|
<tr class="memdesc:a21bf0587ab9749e2afde4bb51d8988ec inherit pub_methods_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Serializes all passed in data. <a href="classcereal_1_1InputArchive.html#a21bf0587ab9749e2afde4bb51d8988ec">More...</a><br /></td></tr>
|
|
<tr class="separator:a21bf0587ab9749e2afde4bb51d8988ec inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a846b9482bf620966e2fa91921251a307 inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#a846b9482bf620966e2fa91921251a307">serializeDeferments</a> ()</td></tr>
|
|
<tr class="memdesc:a846b9482bf620966e2fa91921251a307 inherit pub_methods_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Serializes any data marked for deferment using defer. <a href="classcereal_1_1InputArchive.html#a846b9482bf620966e2fa91921251a307">More...</a><br /></td></tr>
|
|
<tr class="separator:a846b9482bf620966e2fa91921251a307 inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a27251df805e938bd528dd680c2df5a47 inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top">std::shared_ptr< void > </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#a27251df805e938bd528dd680c2df5a47">getSharedPointer</a> (std::uint32_t const id)</td></tr>
|
|
<tr class="memdesc:a27251df805e938bd528dd680c2df5a47 inherit pub_methods_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves a shared pointer given a unique key for it. <a href="classcereal_1_1InputArchive.html#a27251df805e938bd528dd680c2df5a47">More...</a><br /></td></tr>
|
|
<tr class="separator:a27251df805e938bd528dd680c2df5a47 inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5a8c43c2803faa0b78cfb42e10c91d93 inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#a5a8c43c2803faa0b78cfb42e10c91d93">registerSharedPointer</a> (std::uint32_t const id, std::shared_ptr< void > ptr)</td></tr>
|
|
<tr class="memdesc:a5a8c43c2803faa0b78cfb42e10c91d93 inherit pub_methods_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Registers a shared pointer to its unique identifier. <a href="classcereal_1_1InputArchive.html#a5a8c43c2803faa0b78cfb42e10c91d93">More...</a><br /></td></tr>
|
|
<tr class="separator:a5a8c43c2803faa0b78cfb42e10c91d93 inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2d39247b893f26eecc863a7b321e6a00 inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#a2d39247b893f26eecc863a7b321e6a00">getPolymorphicName</a> (std::uint32_t const id)</td></tr>
|
|
<tr class="memdesc:a2d39247b893f26eecc863a7b321e6a00 inherit pub_methods_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the string for a polymorphic type given a unique key for it. <a href="classcereal_1_1InputArchive.html#a2d39247b893f26eecc863a7b321e6a00">More...</a><br /></td></tr>
|
|
<tr class="separator:a2d39247b893f26eecc863a7b321e6a00 inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae6602c484b49376ad1c392719d02ef56 inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#ae6602c484b49376ad1c392719d02ef56">registerPolymorphicName</a> (std::uint32_t const id, std::string const &name)</td></tr>
|
|
<tr class="memdesc:ae6602c484b49376ad1c392719d02ef56 inherit pub_methods_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Registers a polymorphic name string to its unique identifier. <a href="classcereal_1_1InputArchive.html#ae6602c484b49376ad1c392719d02ef56">More...</a><br /></td></tr>
|
|
<tr class="separator:ae6602c484b49376ad1c392719d02ef56 inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a88c7141a24a934978b1ef9894215e67f inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcereal_1_1JSONInputArchive.html">JSONInputArchive</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#a88c7141a24a934978b1ef9894215e67f">operator&</a> (T &&arg)</td></tr>
|
|
<tr class="memdesc:a88c7141a24a934978b1ef9894215e67f inherit pub_methods_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Serializes passed in data. <a href="classcereal_1_1InputArchive.html#a88c7141a24a934978b1ef9894215e67f">More...</a><br /></td></tr>
|
|
<tr class="separator:a88c7141a24a934978b1ef9894215e67f inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abe460125bb5603ae92517d21d2733491 inherit pub_methods_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcereal_1_1JSONInputArchive.html">JSONInputArchive</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#abe460125bb5603ae92517d21d2733491">operator>></a> (T &&arg)</td></tr>
|
|
<tr class="memdesc:abe460125bb5603ae92517d21d2733491 inherit pub_methods_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Serializes passed in data. <a href="classcereal_1_1InputArchive.html#abe460125bb5603ae92517d21d2733491">More...</a><br /></td></tr>
|
|
<tr class="separator:abe460125bb5603ae92517d21d2733491 inherit pub_methods_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="inherit_header pub_methods_classcereal_1_1detail_1_1InputArchiveBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcereal_1_1detail_1_1InputArchiveBase')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classcereal_1_1detail_1_1InputArchiveBase.html">cereal::detail::InputArchiveBase</a></td></tr>
|
|
<tr class="memitem:a6c3165c8d75cc83037a6f25c5d3bf3d4 inherit pub_methods_classcereal_1_1detail_1_1InputArchiveBase"><td class="memItemLeft" align="right" valign="top"><a id="a6c3165c8d75cc83037a6f25c5d3bf3d4"></a>
|
|
 </td><td class="memItemRight" valign="bottom"><b>InputArchiveBase</b> (<a class="el" href="classcereal_1_1detail_1_1InputArchiveBase.html">InputArchiveBase</a> &&) <a class="el" href="macros_8hpp.html#a6c37b2307b83bbe2a3de58d78a2b8c0b">CEREAL_NOEXCEPT</a></td></tr>
|
|
<tr class="separator:a6c3165c8d75cc83037a6f25c5d3bf3d4 inherit pub_methods_classcereal_1_1detail_1_1InputArchiveBase"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7b543080f3f5717657f36cee95450357 inherit pub_methods_classcereal_1_1detail_1_1InputArchiveBase"><td class="memItemLeft" align="right" valign="top"><a id="a7b543080f3f5717657f36cee95450357"></a>
|
|
<a class="el" href="classcereal_1_1detail_1_1InputArchiveBase.html">InputArchiveBase</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classcereal_1_1detail_1_1InputArchiveBase.html">InputArchiveBase</a> &&) <a class="el" href="macros_8hpp.html#a6c37b2307b83bbe2a3de58d78a2b8c0b">CEREAL_NOEXCEPT</a></td></tr>
|
|
<tr class="separator:a7b543080f3f5717657f36cee95450357 inherit pub_methods_classcereal_1_1detail_1_1InputArchiveBase"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
Internal Functionality</h2></td></tr>
|
|
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp8296ede30ade5ce62480f6d69593ed0b"></a>Functionality designed for use by those requiring control over the inner mechanisms of the <a class="el" href="classcereal_1_1JSONInputArchive.html" title="An input archive designed to load data from JSON.">JSONInputArchive</a> </p>
|
|
</td></tr>
|
|
<tr class="memitem:aa5bf6c42760a02f56657325ed542f1e7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1JSONInputArchive.html#aa5bf6c42760a02f56657325ed542f1e7">startNode</a> ()</td></tr>
|
|
<tr class="memdesc:aa5bf6c42760a02f56657325ed542f1e7"><td class="mdescLeft"> </td><td class="mdescRight">Starts a new node, going into its proper iterator. <a href="classcereal_1_1JSONInputArchive.html#aa5bf6c42760a02f56657325ed542f1e7">More...</a><br /></td></tr>
|
|
<tr class="separator:aa5bf6c42760a02f56657325ed542f1e7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab4df5fd2235e7798da73e7b144d13278"><td class="memItemLeft" align="right" valign="top"><a id="ab4df5fd2235e7798da73e7b144d13278"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1JSONInputArchive.html#ab4df5fd2235e7798da73e7b144d13278">finishNode</a> ()</td></tr>
|
|
<tr class="memdesc:ab4df5fd2235e7798da73e7b144d13278"><td class="mdescLeft"> </td><td class="mdescRight">Finishes the most recently started node. <br /></td></tr>
|
|
<tr class="separator:ab4df5fd2235e7798da73e7b144d13278"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8f99ecd05df02a99ea52f43e23c1976b"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1JSONInputArchive.html#a8f99ecd05df02a99ea52f43e23c1976b">getNodeName</a> () const</td></tr>
|
|
<tr class="memdesc:a8f99ecd05df02a99ea52f43e23c1976b"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the current node name. <a href="classcereal_1_1JSONInputArchive.html#a8f99ecd05df02a99ea52f43e23c1976b">More...</a><br /></td></tr>
|
|
<tr class="separator:a8f99ecd05df02a99ea52f43e23c1976b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afccba6c5547664fbffc72f205557a1ef"><td class="memItemLeft" align="right" valign="top"><a id="afccba6c5547664fbffc72f205557a1ef"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1JSONInputArchive.html#afccba6c5547664fbffc72f205557a1ef">setNextName</a> (const char *name)</td></tr>
|
|
<tr class="memdesc:afccba6c5547664fbffc72f205557a1ef"><td class="mdescLeft"> </td><td class="mdescRight">Sets the name for the next node created with startNode. <br /></td></tr>
|
|
<tr class="separator:afccba6c5547664fbffc72f205557a1ef"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5018cec87c7565e9678be95204f03292"><td class="memTemplParams" colspan="2"><a id="a5018cec87c7565e9678be95204f03292"></a>
|
|
template<class T , traits::EnableIf< std::is_signed< T >::value, sizeof(T)< sizeof(int64_t)>=traits::sfinae > inline void loadValue(T &val) { search();val=static_cast< T >(itsIteratorStack.back().value().GetInt());++itsIteratorStack.back();} template< class T, traits::EnableIf< std::is_unsigned< T >::value, sizeof(T)< sizeof(uint64_t), !std::is_same< bool, T >::value >=traits::sfinae > inline void loadValue(T &val) { search();val=static_cast< T >(itsIteratorStack.back().value().GetUint());++itsIteratorStack.back();} void loadValue(bool &val) { search();val=itsIteratorStack.back().value().GetBool();++itsIteratorStack.back();} void loadValue(int64_t &val) { search();val=itsIteratorStack.back().value().GetInt64();++itsIteratorStack.back();} void loadValue(uint64_t &val) { search();val=itsIteratorStack.back().value().GetUint64();++itsIteratorStack.back();} void loadValue(float &val) { search();val=static_cast< float >(itsIteratorStack.back().value().GetDouble());++itsIteratorStack.back();} void loadValue(double &val) { search();val=itsIteratorStack.back().value().GetDouble();++itsIteratorStack.back();} void loadValue(std::string &val) { search();val=itsIteratorStack.back().value().GetString();++itsIteratorStack.back();} void loadValue(std::nullptr_t &) { search();CEREAL_RAPIDJSON_ASSERT(itsIteratorStack.back().value().IsNull());++itsIteratorStack.back();} private:template< class T > inline typename std::enable_if< sizeof(T)==sizeof(std::int32_t) &&std::is_signed< T >::value, void >::type loadLong(T &l){ loadValue(reinterpret_cast< std::int32_t & >(l));} template< class T > inline typename std::enable_if< sizeof(T)==sizeof(std::int64_t) &&std::is_signed< T >::value, void >::type loadLong(T &l){ loadValue(reinterpret_cast< std::int64_t & >(l));} template< class T > inline typename std::enable_if< sizeof(T)==sizeof(std::uint32_t) &&!std::is_signed< T >::value, void >::type loadLong(T &lu){ loadValue(reinterpret_cast< std::uint32_t & >(lu));} template< class T > inline typename std::enable_if< sizeof(T)==sizeof(std::uint64_t) &&!std::is_signed< T >::value, void >::type loadLong(T &lu){ loadValue(reinterpret_cast< std::uint64_t & >(lu));} public:template< class T > inline typename std::enable_if< std::is_same< T, long >::value &&sizeof(T) >=sizeof(std::int64_t) &&!std::is_same< T, std::int64_t >::value, void >::type loadValue(T &t){ loadLong(t);} template< class T > inline typename std::enable_if< std::is_same< T, unsigned long >::value &&sizeof(T) > = sizeof(std::uint64_t) && !std::is_same<T, std::uint64_t>::value, void > </td></tr>
|
|
<tr class="memitem:a5018cec87c7565e9678be95204f03292"><td class="memTemplItemLeft" align="right" valign="top">::type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcereal_1_1JSONInputArchive.html#a5018cec87c7565e9678be95204f03292">loadValue</a> (T &t)</td></tr>
|
|
<tr class="memdesc:a5018cec87c7565e9678be95204f03292"><td class="mdescLeft"> </td><td class="mdescRight">Loads a value from the current node - small signed overload. <br /></td></tr>
|
|
<tr class="separator:a5018cec87c7565e9678be95204f03292"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab3af3638b751b7b138d2713aa9959de6"><td class="memTemplParams" colspan="2"><a id="ab3af3638b751b7b138d2713aa9959de6"></a>
|
|
template<class T , traits::EnableIf< std::is_arithmetic< T >::value, !std::is_same< T, long >::value, !std::is_same< T, unsigned long >::value, !std::is_same< T, std::int64_t >::value, !std::is_same< T, std::uint64_t >::value,(sizeof(T) >=sizeof(long double)||sizeof(T) >=sizeof(long long))> = traits::sfinae> </td></tr>
|
|
<tr class="memitem:ab3af3638b751b7b138d2713aa9959de6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcereal_1_1JSONInputArchive.html#ab3af3638b751b7b138d2713aa9959de6">loadValue</a> (T &val)</td></tr>
|
|
<tr class="memdesc:ab3af3638b751b7b138d2713aa9959de6"><td class="mdescLeft"> </td><td class="mdescRight">Loads a value from the current node - long double and long long overloads. <br /></td></tr>
|
|
<tr class="separator:ab3af3638b751b7b138d2713aa9959de6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a63e9cbd5865cbe23f59cf68030c7722a"><td class="memItemLeft" align="right" valign="top"><a id="a63e9cbd5865cbe23f59cf68030c7722a"></a>
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1JSONInputArchive.html#a63e9cbd5865cbe23f59cf68030c7722a">loadSize</a> (<a class="el" href="helpers_8hpp.html#aba657f7ef148daa498dc4fa9e579b01e">size_type</a> &size)</td></tr>
|
|
<tr class="memdesc:a63e9cbd5865cbe23f59cf68030c7722a"><td class="mdescLeft"> </td><td class="mdescRight">Loads the size for a <a class="el" href="classcereal_1_1SizeTag.html" title="A wrapper around size metadata.">SizeTag</a>. <br /></td></tr>
|
|
<tr class="separator:a63e9cbd5865cbe23f59cf68030c7722a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
|
|
Additional Inherited Members</h2></td></tr>
|
|
<tr class="inherit_header pub_types_classcereal_1_1InputArchive"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classcereal_1_1InputArchive')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classcereal_1_1InputArchive.html">cereal::InputArchive< JSONInputArchive ></a></td></tr>
|
|
<tr class="memitem:adeb555e9b25f21391e4cc9eca9f04dbd inherit pub_types_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#adeb555e9b25f21391e4cc9eca9f04dbd">is_loading</a> = std::true_type</td></tr>
|
|
<tr class="memdesc:adeb555e9b25f21391e4cc9eca9f04dbd inherit pub_types_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Indicates this archive is intended for loading. <a href="classcereal_1_1InputArchive.html#adeb555e9b25f21391e4cc9eca9f04dbd">More...</a><br /></td></tr>
|
|
<tr class="separator:adeb555e9b25f21391e4cc9eca9f04dbd inherit pub_types_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af90a8d1dc2c9163367765817f7b704d4 inherit pub_types_classcereal_1_1InputArchive"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1InputArchive.html#af90a8d1dc2c9163367765817f7b704d4">is_saving</a> = std::false_type</td></tr>
|
|
<tr class="memdesc:af90a8d1dc2c9163367765817f7b704d4 inherit pub_types_classcereal_1_1InputArchive"><td class="mdescLeft"> </td><td class="mdescRight">Indicates this archive is not intended for saving. <a href="classcereal_1_1InputArchive.html#af90a8d1dc2c9163367765817f7b704d4">More...</a><br /></td></tr>
|
|
<tr class="separator:af90a8d1dc2c9163367765817f7b704d4 inherit pub_types_classcereal_1_1InputArchive"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>An input archive designed to load data from JSON. </p>
|
|
<p>This archive uses RapidJSON to read in a JSON archive.</p>
|
|
<p>As with the output JSON archive, the preferred way to use this archive is in an RAII fashion, ensuring its destruction after all data has been read.</p>
|
|
<p>Input JSON should have been produced by the <a class="el" href="classcereal_1_1JSONOutputArchive.html" title="An output archive designed to save data to JSON.">JSONOutputArchive</a>. Data can only be added to dynamically sized containers (marked by JSON arrays) - the input archive will determine their size by looking at the number of child nodes. Only JSON originating from a <a class="el" href="classcereal_1_1JSONOutputArchive.html" title="An output archive designed to save data to JSON.">JSONOutputArchive</a> is officially supported, but data from other sources may work if properly formatted.</p>
|
|
<p>The <a class="el" href="classcereal_1_1JSONInputArchive.html" title="An input archive designed to load data from JSON.">JSONInputArchive</a> does not require that nodes are loaded in the same order they were saved by <a class="el" href="classcereal_1_1JSONOutputArchive.html" title="An output archive designed to save data to JSON.">JSONOutputArchive</a>. Using name value pairs (NVPs), it is possible to load in an out of order fashion or otherwise skip/select specific nodes to load.</p>
|
|
<p>The default behavior of the input archive is to read sequentially starting with the first node and exploring its children. When a given NVP does not match the read in name for a node, the archive will search for that node at the current level and load it if it exists. After loading an out of order node, the archive will then proceed back to loading sequentially from its new position.</p>
|
|
<p>Consider this simple example where loading of some data is skipped:</p>
|
|
<div class="fragment"><div class="line"><span class="comment">// imagine the input file has someData(1-9) saved in order at the top level node</span></div>
|
|
<div class="line">ar( someData1, someData2, someData3 ); <span class="comment">// XML loads in the order it sees in the file</span></div>
|
|
<div class="line">ar( cereal::make_nvp( <span class="stringliteral">"hello"</span>, someData6 ) ); <span class="comment">// NVP given does not</span></div>
|
|
<div class="line"> <span class="comment">// match expected NVP name, so we search</span></div>
|
|
<div class="line"> <span class="comment">// for the given NVP and load that value</span></div>
|
|
<div class="line">ar( someData7, someData8, someData9 ); <span class="comment">// with no NVP given, loading resumes at its</span></div>
|
|
<div class="line"> <span class="comment">// current location, proceeding sequentially</span></div>
|
|
</div><!-- fragment --> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a3ae0714f99d4014117026749135860e3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3ae0714f99d4014117026749135860e3">◆ </a></span>JSONInputArchive()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">cereal::JSONInputArchive::JSONInputArchive </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::istream & </td>
|
|
<td class="paramname"><em>stream</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">
|
|
|
|
<p>Construct, reading from the provided stream. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">stream</td><td>The stream to read from </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a8f99ecd05df02a99ea52f43e23c1976b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8f99ecd05df02a99ea52f43e23c1976b">◆ </a></span>getNodeName()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const char* cereal::JSONInputArchive::getNodeName </td>
|
|
<td>(</td>
|
|
<td class="paramname"></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>Retrieves the current node name. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>nullptr if no name exists </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a618425a8a54490a0f1d16f464dd7717e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a618425a8a54490a0f1d16f464dd7717e">◆ </a></span>loadBinaryValue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void cereal::JSONInputArchive::loadBinaryValue </td>
|
|
<td>(</td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>data</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>size</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"><em>name</em> = <code>nullptr</code> </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">
|
|
|
|
<p>Loads some binary data, encoded as a base64 string. </p>
|
|
<p>This will automatically start and finish a node to load the data, and can be called directly by users.</p>
|
|
<p>Note that this follows the same ordering rules specified in the class description in regards to loading in/out of order </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa5bf6c42760a02f56657325ed542f1e7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa5bf6c42760a02f56657325ed542f1e7">◆ </a></span>startNode()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void cereal::JSONInputArchive::startNode </td>
|
|
<td>(</td>
|
|
<td class="paramname"></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">
|
|
|
|
<p>Starts a new node, going into its proper iterator. </p>
|
|
<p>This places an iterator for the next node to be parsed onto the iterator stack. If the next node is an array, this will be a value iterator, otherwise it will be a member iterator.</p>
|
|
<p>By default our strategy is to start with the document root node and then recursively iterate through all children in the order they show up in the document. We don't need to know NVPs to do this; we'll just blindly load in the order things appear in.</p>
|
|
<p>If we were given an NVP, we will search for it if it does not match our the name of the next node that would normally be loaded. This functionality is provided by search(). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li><a class="el" href="json_8hpp_source.html">json.hpp</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
<!-- HTML footer for doxygen 1.8.3.1-->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Sun Feb 27 2022 19:46:46 for cereal by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.17
|
|
</small></address>
|
|
<script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
ga('create', 'UA-42360142-1', 'uscilab.github.io');
|
|
ga('send', 'pageview');
|
|
</script>
|
|
</body>
|
|
</html>
|