cereal/assets/doxygen/classcereal_1_1access.html
2022-02-27 19:48:38 -08:00

202 lines
20 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::access 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&amp;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&amp;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_1access.html">access</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classcereal_1_1access-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">cereal::access Class Reference<div class="ingroups"><a class="el" href="group__Access.html">Access Control and Disambiguation</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>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></p>
<p><code>#include &lt;<a class="el" href="access_8hpp_source.html">/home/shane/workspace/cereal/include/cereal/access.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ad05831ccc458a58431b0c26a080d6ec6"><td class="memTemplParams" colspan="2"><a id="ad05831ccc458a58431b0c26a080d6ec6"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:ad05831ccc458a58431b0c26a080d6ec6"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_serialize</b> (Archive &amp;ar, T &amp;t) -&gt; decltype(<a class="el" href="macros_8hpp.html#ad6b40d3472fa3d7f2148657c5bd6a07a">t.CEREAL_SERIALIZE_FUNCTION_NAME</a>(ar))</td></tr>
<tr class="separator:ad05831ccc458a58431b0c26a080d6ec6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ac38aa11b94a4178ec335aa5dc49fbb"><td class="memTemplParams" colspan="2"><a id="a9ac38aa11b94a4178ec335aa5dc49fbb"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a9ac38aa11b94a4178ec335aa5dc49fbb"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_save</b> (Archive &amp;ar, T const &amp;t) -&gt; decltype(<a class="el" href="macros_8hpp.html#a85b7884671ac5a804b66ec7c34d0ca71">t.CEREAL_SAVE_FUNCTION_NAME</a>(ar))</td></tr>
<tr class="separator:a9ac38aa11b94a4178ec335aa5dc49fbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aee7c190fe592ab85e2ecef35645adf"><td class="memTemplParams" colspan="2"><a id="a9aee7c190fe592ab85e2ecef35645adf"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a9aee7c190fe592ab85e2ecef35645adf"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_save_non_const</b> (Archive &amp;ar, T &amp;t) -&gt; decltype(<a class="el" href="macros_8hpp.html#a85b7884671ac5a804b66ec7c34d0ca71">t.CEREAL_SAVE_FUNCTION_NAME</a>(ar))</td></tr>
<tr class="separator:a9aee7c190fe592ab85e2ecef35645adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a647fdf040a9befbf461baa4a06c2d490"><td class="memTemplParams" colspan="2"><a id="a647fdf040a9befbf461baa4a06c2d490"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a647fdf040a9befbf461baa4a06c2d490"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_load</b> (Archive &amp;ar, T &amp;t) -&gt; decltype(<a class="el" href="macros_8hpp.html#a854de4fbe2b80753b27264b7dda740e8">t.CEREAL_LOAD_FUNCTION_NAME</a>(ar))</td></tr>
<tr class="separator:a647fdf040a9befbf461baa4a06c2d490"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed7f0b5ff17ecf3090e43da940534bfb"><td class="memTemplParams" colspan="2"><a id="aed7f0b5ff17ecf3090e43da940534bfb"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:aed7f0b5ff17ecf3090e43da940534bfb"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_save_minimal</b> (Archive const &amp;ar, T const &amp;t) -&gt; decltype(<a class="el" href="macros_8hpp.html#ac018dce5e1c47d8948842e8eaa08815e">t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME</a>(ar))</td></tr>
<tr class="separator:aed7f0b5ff17ecf3090e43da940534bfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90b1fcd3d987d395e4fc309a75ae007e"><td class="memTemplParams" colspan="2"><a id="a90b1fcd3d987d395e4fc309a75ae007e"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a90b1fcd3d987d395e4fc309a75ae007e"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_save_minimal_non_const</b> (Archive const &amp;ar, T &amp;t) -&gt; decltype(<a class="el" href="macros_8hpp.html#ac018dce5e1c47d8948842e8eaa08815e">t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME</a>(ar))</td></tr>
<tr class="separator:a90b1fcd3d987d395e4fc309a75ae007e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e4479612424135647241983ad094547"><td class="memTemplParams" colspan="2"><a id="a7e4479612424135647241983ad094547"></a>
template&lt;class Archive , class T , class U &gt; </td></tr>
<tr class="memitem:a7e4479612424135647241983ad094547"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_load_minimal</b> (Archive const &amp;ar, T &amp;t, U &amp;&amp;u) -&gt; decltype(<a class="el" href="macros_8hpp.html#a6d46fc40eb865ec42dd40929ed5db73f">t.CEREAL_LOAD_MINIMAL_FUNCTION_NAME</a>(ar, std::forward&lt; U &gt;(u)))</td></tr>
<tr class="separator:a7e4479612424135647241983ad094547"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a169bc2eeef4214962fb3bef55aff8bf5"><td class="memTemplParams" colspan="2"><a id="a169bc2eeef4214962fb3bef55aff8bf5"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a169bc2eeef4214962fb3bef55aff8bf5"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_serialize</b> (Archive &amp;ar, T &amp;t, const std::uint32_t version) -&gt; decltype(<a class="el" href="macros_8hpp.html#ad6b40d3472fa3d7f2148657c5bd6a07a">t.CEREAL_SERIALIZE_FUNCTION_NAME</a>(ar, version))</td></tr>
<tr class="separator:a169bc2eeef4214962fb3bef55aff8bf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fef6e1344a3e94ea37746577f1d10b5"><td class="memTemplParams" colspan="2"><a id="a2fef6e1344a3e94ea37746577f1d10b5"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a2fef6e1344a3e94ea37746577f1d10b5"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_save</b> (Archive &amp;ar, T const &amp;t, const std::uint32_t version) -&gt; decltype(<a class="el" href="macros_8hpp.html#a85b7884671ac5a804b66ec7c34d0ca71">t.CEREAL_SAVE_FUNCTION_NAME</a>(ar, version))</td></tr>
<tr class="separator:a2fef6e1344a3e94ea37746577f1d10b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51fcab9aab1b5d9349b9f6d9d52260b7"><td class="memTemplParams" colspan="2"><a id="a51fcab9aab1b5d9349b9f6d9d52260b7"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a51fcab9aab1b5d9349b9f6d9d52260b7"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_save_non_const</b> (Archive &amp;ar, T &amp;t, const std::uint32_t version) -&gt; decltype(<a class="el" href="macros_8hpp.html#a85b7884671ac5a804b66ec7c34d0ca71">t.CEREAL_SAVE_FUNCTION_NAME</a>(ar, version))</td></tr>
<tr class="separator:a51fcab9aab1b5d9349b9f6d9d52260b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a033697b8fa854bba4b05a3547614c339"><td class="memTemplParams" colspan="2"><a id="a033697b8fa854bba4b05a3547614c339"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a033697b8fa854bba4b05a3547614c339"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_load</b> (Archive &amp;ar, T &amp;t, const std::uint32_t version) -&gt; decltype(<a class="el" href="macros_8hpp.html#a854de4fbe2b80753b27264b7dda740e8">t.CEREAL_LOAD_FUNCTION_NAME</a>(ar, version))</td></tr>
<tr class="separator:a033697b8fa854bba4b05a3547614c339"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12207c5a8a7fde360a4210a7a90a6bd9"><td class="memTemplParams" colspan="2"><a id="a12207c5a8a7fde360a4210a7a90a6bd9"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a12207c5a8a7fde360a4210a7a90a6bd9"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_save_minimal</b> (Archive const &amp;ar, T const &amp;t, const std::uint32_t version) -&gt; decltype(<a class="el" href="macros_8hpp.html#ac018dce5e1c47d8948842e8eaa08815e">t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME</a>(ar, version))</td></tr>
<tr class="separator:a12207c5a8a7fde360a4210a7a90a6bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a594aedc4a1d99965acf78afd26eea1b4"><td class="memTemplParams" colspan="2"><a id="a594aedc4a1d99965acf78afd26eea1b4"></a>
template&lt;class Archive , class T &gt; </td></tr>
<tr class="memitem:a594aedc4a1d99965acf78afd26eea1b4"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_save_minimal_non_const</b> (Archive const &amp;ar, T &amp;t, const std::uint32_t version) -&gt; decltype(<a class="el" href="macros_8hpp.html#ac018dce5e1c47d8948842e8eaa08815e">t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME</a>(ar, version))</td></tr>
<tr class="separator:a594aedc4a1d99965acf78afd26eea1b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93be8085cce16064c52d419f06e1c6bd"><td class="memTemplParams" colspan="2"><a id="a93be8085cce16064c52d419f06e1c6bd"></a>
template&lt;class Archive , class T , class U &gt; </td></tr>
<tr class="memitem:a93be8085cce16064c52d419f06e1c6bd"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>member_load_minimal</b> (Archive const &amp;ar, T &amp;t, U &amp;&amp;u, const std::uint32_t version) -&gt; decltype(<a class="el" href="macros_8hpp.html#a6d46fc40eb865ec42dd40929ed5db73f">t.CEREAL_LOAD_MINIMAL_FUNCTION_NAME</a>(ar, std::forward&lt; U &gt;(u), version))</td></tr>
<tr class="separator:a93be8085cce16064c52d419f06e1c6bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4313d611119408a0469ff1e8ac72ec20"><td class="memTemplParams" colspan="2"><a id="a4313d611119408a0469ff1e8ac72ec20"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a4313d611119408a0469ff1e8ac72ec20"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>shared_from_this</b> (T &amp;t) -&gt; decltype(t.shared_from_this())</td></tr>
<tr class="separator:a4313d611119408a0469ff1e8ac72ec20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0583d34ca52b22b4d752a3e562b1a12a"><td class="memTemplParams" colspan="2"><a id="a0583d34ca52b22b4d752a3e562b1a12a"></a>
template&lt;class T , class ... Args&gt; </td></tr>
<tr class="memitem:a0583d34ca52b22b4d752a3e562b1a12a"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>construct</b> (T *&amp;ptr, Args &amp;&amp;... args)</td></tr>
<tr class="separator:a0583d34ca52b22b4d752a3e562b1a12a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73aa6e2001200b60e4a4996c467e24ad"><td class="memTemplParams" colspan="2"><a id="a73aa6e2001200b60e4a4996c467e24ad"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a73aa6e2001200b60e4a4996c467e24ad"><td class="memTemplItemLeft" align="right" valign="top">static T *&#160;</td><td class="memTemplItemRight" valign="bottom"><b>construct</b> ()</td></tr>
<tr class="separator:a73aa6e2001200b60e4a4996c467e24ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c1f5168eb1ddb09d2949182e8bd4241"><td class="memTemplParams" colspan="2"><a id="a1c1f5168eb1ddb09d2949182e8bd4241"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a1c1f5168eb1ddb09d2949182e8bd4241"><td class="memTemplItemLeft" align="right" valign="top">static std::false_type&#160;</td><td class="memTemplItemRight" valign="bottom"><b>load_and_construct</b> (...)</td></tr>
<tr class="separator:a1c1f5168eb1ddb09d2949182e8bd4241"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f6cd0e87aea3da91512705c7343a571"><td class="memTemplParams" colspan="2"><a id="a0f6cd0e87aea3da91512705c7343a571"></a>
template&lt;class T , class Archive &gt; </td></tr>
<tr class="memitem:a0f6cd0e87aea3da91512705c7343a571"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>load_and_construct</b> (Archive &amp;ar, ::<a class="el" href="classcereal_1_1construct.html">cereal::construct</a>&lt; T &gt; &amp;<a class="el" href="classcereal_1_1construct.html">construct</a>) -&gt; decltype(T::load_and_construct(ar, <a class="el" href="classcereal_1_1construct.html">construct</a>))</td></tr>
<tr class="separator:a0f6cd0e87aea3da91512705c7343a571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5951ce0bbf8be265596d42825e1c8e55"><td class="memTemplParams" colspan="2"><a id="a5951ce0bbf8be265596d42825e1c8e55"></a>
template&lt;class T , class Archive &gt; </td></tr>
<tr class="memitem:a5951ce0bbf8be265596d42825e1c8e55"><td class="memTemplItemLeft" align="right" valign="top">static auto&#160;</td><td class="memTemplItemRight" valign="bottom"><b>load_and_construct</b> (Archive &amp;ar, ::<a class="el" href="classcereal_1_1construct.html">cereal::construct</a>&lt; T &gt; &amp;<a class="el" href="classcereal_1_1construct.html">construct</a>, const std::uint32_t version) -&gt; decltype(T::load_and_construct(ar, <a class="el" href="classcereal_1_1construct.html">construct</a>, version))</td></tr>
<tr class="separator:a5951ce0bbf8be265596d42825e1c8e55"><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>A class that can be made a friend to give cereal access to non public functions. </p>
<p>If you desire non-public serialization functions within a class, cereal can only access these if you declare <a class="el" href="classcereal_1_1access.html" title="A class that can be made a friend to give cereal access to non public functions.">cereal::access</a> a friend.</p>
<div class="fragment"><div class="line"><span class="keyword">class </span>MyClass</div>
<div class="line">{</div>
<div class="line"> <span class="keyword">private</span>:</div>
<div class="line"> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classcereal_1_1access.html">cereal::access</a>; <span class="comment">// gives access to the private serialize</span></div>
<div class="line"> </div>
<div class="line"> <span class="keyword">template</span> &lt;<span class="keyword">class</span> Archive&gt;</div>
<div class="line"> <span class="keywordtype">void</span> <a class="code" href="functional_8hpp.html#a02f9cfc9a4055c8a49eb050b02cd3357">serialize</a>( Archive &amp; ar )</div>
<div class="line"> {</div>
<div class="line"> <span class="comment">// some code</span></div>
<div class="line"> }</div>
<div class="line">};</div>
</div><!-- fragment --> </div><hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="access_8hpp_source.html">access.hpp</a></li>
</ul>
</div><!-- contents -->
<div class="ttc" id="afunctional_8hpp_html_a02f9cfc9a4055c8a49eb050b02cd3357"><div class="ttname"><a href="functional_8hpp.html#a02f9cfc9a4055c8a49eb050b02cd3357">cereal::serialize</a></div><div class="ttdeci">void serialize(Archive &amp;, std::less&lt; T &gt; &amp;)</div><div class="ttdoc">Saving for std::less.</div><div class="ttdef"><b>Definition:</b> functional.hpp:39</div></div>
<div class="ttc" id="aclasscereal_1_1access_html"><div class="ttname"><a href="classcereal_1_1access.html">cereal::access</a></div><div class="ttdoc">A class that can be made a friend to give cereal access to non public functions.</div><div class="ttdef"><b>Definition:</b> access.hpp:240</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 &#160;<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>