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

150 lines
8.5 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::detail::OutputBindingMap&lt; Archive &gt; Struct 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="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"><b>detail</b></li><li class="navelem"><a class="el" href="structcereal_1_1detail_1_1OutputBindingMap.html">OutputBindingMap</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structcereal_1_1detail_1_1OutputBindingMap-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">cereal::detail::OutputBindingMap&lt; Archive &gt; Struct Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A structure holding a map from type_indices to output serializer functions.
<a href="structcereal_1_1detail_1_1OutputBindingMap.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="polymorphic__impl_8hpp_source.html">/home/shane/workspace/cereal/include/cereal/details/polymorphic_impl.hpp</a>&gt;</code></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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcereal_1_1detail_1_1OutputBindingMap_1_1Serializers.html">Serializers</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Struct containing the serializer functions for all pointer types. <a href="structcereal_1_1detail_1_1OutputBindingMap_1_1Serializers.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a8494ac316e305ffcaae1636b092cb916"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; void(void *, void const *, std::type_info const &amp;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcereal_1_1detail_1_1OutputBindingMap.html#a8494ac316e305ffcaae1636b092cb916">Serializer</a></td></tr>
<tr class="memdesc:a8494ac316e305ffcaae1636b092cb916"><td class="mdescLeft">&#160;</td><td class="mdescRight">A serializer function. <a href="structcereal_1_1detail_1_1OutputBindingMap.html#a8494ac316e305ffcaae1636b092cb916">More...</a><br /></td></tr>
<tr class="separator:a8494ac316e305ffcaae1636b092cb916"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ab62be8e24369a6350592d3bd12abfecc"><td class="memItemLeft" align="right" valign="top"><a id="ab62be8e24369a6350592d3bd12abfecc"></a>
std::map&lt; std::type_index, <a class="el" href="structcereal_1_1detail_1_1OutputBindingMap_1_1Serializers.html">Serializers</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcereal_1_1detail_1_1OutputBindingMap.html#ab62be8e24369a6350592d3bd12abfecc">map</a></td></tr>
<tr class="memdesc:ab62be8e24369a6350592d3bd12abfecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">A map of serializers for pointers of all registered types. <br /></td></tr>
<tr class="separator:ab62be8e24369a6350592d3bd12abfecc"><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;class Archive&gt;<br />
struct cereal::detail::OutputBindingMap&lt; Archive &gt;</h3>
<p>A structure holding a map from type_indices to output serializer functions. </p>
<p>A static object of this map should be created for each registered archive type, containing entries for every registered type that describe how to properly cast the type to its real type in polymorphic scenarios for shared_ptr, weak_ptr, and unique_ptr. </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a8494ac316e305ffcaae1636b092cb916"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8494ac316e305ffcaae1636b092cb916">&#9670;&nbsp;</a></span>Serializer</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Archive &gt; </div>
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;void(void*, void const *, std::type_info const &amp;)&gt; <a class="el" href="structcereal_1_1detail_1_1OutputBindingMap.html">cereal::detail::OutputBindingMap</a>&lt; Archive &gt;::<a class="el" href="structcereal_1_1detail_1_1OutputBindingMap.html#a8494ac316e305ffcaae1636b092cb916">Serializer</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>A serializer function. </p>
<p>Serializer functions return nothing and take an archive as their first parameter (will be cast properly inside the function, a pointer to actual data (contents of smart_ptr's get() function) as their second parameter, and the type info of the owning smart_ptr as their final parameter </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="polymorphic__impl_8hpp_source.html">polymorphic_impl.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 &#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>