mirror of
https://github.com/USCiLab/cereal.git
synced 2025-07-21 02:12:01 +02:00
225 lines
14 KiB
HTML
225 lines
14 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: Access Control and Disambiguation</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>
|
|
</div><!-- top -->
|
|
<!-- 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 class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#define-members">Macros</a> |
|
|
<a href="#enum-members">Enumerations</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">Access Control and Disambiguation</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Provides ways to give cereal access to protected member functions, disambiguate which serialization function cereal should use, and provide ways of using smart pointers with types that have no default constructor.
|
|
<a href="#details">More...</a></p>
|
|
<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">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcereal_1_1LoadAndConstruct.html">cereal::LoadAndConstruct< T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A class that allows cereal to load smart pointers to types that have no default constructor. <a href="structcereal_1_1LoadAndConstruct.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classcereal_1_1access.html">cereal::access</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A class that can be made a friend to give cereal access to non public functions. <a href="classcereal_1_1access.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structcereal_1_1specialize.html">cereal::specialize< Archive, T, S ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A class used to disambiguate cases where cereal cannot detect a unique way of serializing a class. <a href="structcereal_1_1specialize.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
|
Macros</h2></td></tr>
|
|
<tr class="memitem:gad97c8384438352ed3dd58762259d902d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Access.html#gad97c8384438352ed3dd58762259d902d">CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES</a>(Type, Specialization)   namespace cereal { template <class Archive> struct specialize<Archive, Type, Specialization> {}; }</td></tr>
|
|
<tr class="memdesc:gad97c8384438352ed3dd58762259d902d"><td class="mdescLeft"> </td><td class="mdescRight">Convenient macro for performing specialization for all archive types. <a href="group__Access.html#gad97c8384438352ed3dd58762259d902d">More...</a><br /></td></tr>
|
|
<tr class="separator:gad97c8384438352ed3dd58762259d902d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga9052730c61ed943f726b4dfca1f6f627"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Access.html#ga9052730c61ed943f726b4dfca1f6f627">CEREAL_SPECIALIZE_FOR_ARCHIVE</a>(Archive, Type, Specialization)   namespace cereal { template <> struct specialize<Archive, Type, Specialization> {}; }</td></tr>
|
|
<tr class="memdesc:ga9052730c61ed943f726b4dfca1f6f627"><td class="mdescLeft"> </td><td class="mdescRight">Convenient macro for performing specialization for a single archive type. <a href="group__Access.html#ga9052730c61ed943f726b4dfca1f6f627">More...</a><br /></td></tr>
|
|
<tr class="separator:ga9052730c61ed943f726b4dfca1f6f627"><td class="memSeparator" colspan="2"> </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:gac28bb730353e53b3066cc679e63bb108"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__Access.html#gac28bb730353e53b3066cc679e63bb108">cereal::specialization</a> </td></tr>
|
|
<tr class="separator:gac28bb730353e53b3066cc679e63bb108"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<p>Provides ways to give cereal access to protected member functions, disambiguate which serialization function cereal should use, and provide ways of using smart pointers with types that have no default constructor. </p>
|
|
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
<a id="gad97c8384438352ed3dd58762259d902d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gad97c8384438352ed3dd58762259d902d">◆ </a></span>CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">Type, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">Specialization </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   namespace cereal { template <class Archive> struct specialize<Archive, Type, Specialization> {}; }</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Convenient macro for performing specialization for all archive types. </p>
|
|
<p>This performs specialization for the specific type for all types of archives. This macro should be placed at the global namespace.</p>
|
|
<div class="fragment"><div class="line"><span class="keyword">struct </span>MyType {};</div>
|
|
<div class="line"><a class="code" href="group__Access.html#gad97c8384438352ed3dd58762259d902d">CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES</a>( MyType, cereal::specialization::member_load_save );</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="ga9052730c61ed943f726b4dfca1f6f627"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga9052730c61ed943f726b4dfca1f6f627">◆ </a></span>CEREAL_SPECIALIZE_FOR_ARCHIVE</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define CEREAL_SPECIALIZE_FOR_ARCHIVE</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">Archive, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">Type, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">Specialization </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   namespace cereal { template <> struct specialize<Archive, Type, Specialization> {}; }</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Convenient macro for performing specialization for a single archive type. </p>
|
|
<p>This performs specialization for the specific type for a single type of archive. This macro should be placed at the global namespace.</p>
|
|
<div class="fragment"><div class="line"><span class="keyword">struct </span>MyType {};</div>
|
|
<div class="line"><a class="code" href="group__Access.html#ga9052730c61ed943f726b4dfca1f6f627">CEREAL_SPECIALIZE_FOR_ARCHIVE</a>( <a class="code" href="classcereal_1_1XMLInputArchive.html">cereal::XMLInputArchive</a>, MyType, cereal::specialization::member_load_save );</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Enumeration Type Documentation</h2>
|
|
<a id="gac28bb730353e53b3066cc679e63bb108"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gac28bb730353e53b3066cc679e63bb108">◆ </a></span>specialization</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<div class="memtemplate">
|
|
template<class Archive , class T , specialization S> </div>
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__Access.html#gac28bb730353e53b3066cc679e63bb108">specialization</a></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">related</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>A specifier used in conjunction with <a class="el" href="structcereal_1_1specialize.html" title="A class used to disambiguate cases where cereal cannot detect a unique way of serializing a class.">cereal::specialize</a> to disambiguate serialization in special cases </p>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
<div class="ttc" id="aclasscereal_1_1XMLInputArchive_html"><div class="ttname"><a href="classcereal_1_1XMLInputArchive.html">cereal::XMLInputArchive</a></div><div class="ttdoc">An output archive designed to load data from XML.</div><div class="ttdef"><b>Definition:</b> xml.hpp:405</div></div>
|
|
<div class="ttc" id="agroup__Access_html_ga9052730c61ed943f726b4dfca1f6f627"><div class="ttname"><a href="group__Access.html#ga9052730c61ed943f726b4dfca1f6f627">CEREAL_SPECIALIZE_FOR_ARCHIVE</a></div><div class="ttdeci">#define CEREAL_SPECIALIZE_FOR_ARCHIVE(Archive, Type, Specialization)</div><div class="ttdoc">Convenient macro for performing specialization for a single archive type.</div><div class="ttdef"><b>Definition:</b> specialize.hpp:135</div></div>
|
|
<div class="ttc" id="agroup__Access_html_gad97c8384438352ed3dd58762259d902d"><div class="ttname"><a href="group__Access.html#gad97c8384438352ed3dd58762259d902d">CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES</a></div><div class="ttdeci">#define CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES(Type, Specialization)</div><div class="ttdoc">Convenient macro for performing specialization for all archive types.</div><div class="ttdef"><b>Definition:</b> specialize.hpp:121</div></div>
|
|
<!-- 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>
|