MacStd/classmacstd_1_1dplhandle.html

550 lines
40 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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MacStd: macstd::dplhandle&lt; T, INVAL &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>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.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 id="projectrow">
<td id="projectalign">
<div id="projectname">MacStd
</div>
<div id="projectbrief">OS X API using Standard C++</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- 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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>macstd</b></li><li class="navelem"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classmacstd_1_1dplhandle-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">macstd::dplhandle&lt; T, INVAL &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Base abstract template class to support object handle keeping for objects that support trivial handle duplication.
<a href="#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="common_8hpp_source.html">MacStd/common.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for macstd::dplhandle&lt; T, INVAL &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="classmacstd_1_1dplhandle.png" usemap="#macstd::dplhandle_3C_20T_2C_20INVAL_20_3E_map" alt=""/>
<map id="macstd::dplhandle_3C_20T_2C_20INVAL_20_3E_map" name="macstd::dplhandle_3C_20T_2C_20INVAL_20_3E_map">
<area href="classmacstd_1_1handle.html" title="Base abstract template class to support generic object handle keeping." alt="macstd::handle&lt; T, INVAL &gt;" shape="rect" coords="0,0,189,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1b873380277a79a12dca3ba59f862529" id="r_a1b873380277a79a12dca3ba59f862529"><td class="memItemLeft" align="right" valign="top"><a id="a1b873380277a79a12dca3ba59f862529" name="a1b873380277a79a12dca3ba59f862529"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>dplhandle</b> () noexcept</td></tr>
<tr class="memdesc:a1b873380277a79a12dca3ba59f862529"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with the object handle set to INVAL. <br /></td></tr>
<tr class="separator:a1b873380277a79a12dca3ba59f862529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7250ebf4632a7d48b071dc10b8e4b986" id="r_a7250ebf4632a7d48b071dc10b8e4b986"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7250ebf4632a7d48b071dc10b8e4b986">dplhandle</a> (T h) noexcept</td></tr>
<tr class="memdesc:a7250ebf4632a7d48b071dc10b8e4b986"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with an already available object handle. <br /></td></tr>
<tr class="separator:a7250ebf4632a7d48b071dc10b8e4b986"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a835eca8008bbdd42aa4bbb76072c637b" id="r_a835eca8008bbdd42aa4bbb76072c637b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a835eca8008bbdd42aa4bbb76072c637b">dplhandle</a> (const <a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;h)</td></tr>
<tr class="memdesc:a835eca8008bbdd42aa4bbb76072c637b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a835eca8008bbdd42aa4bbb76072c637b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bb0531c1a3eacc4a60604e438b3ed71" id="r_a8bb0531c1a3eacc4a60604e438b3ed71"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8bb0531c1a3eacc4a60604e438b3ed71">dplhandle</a> (<a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:a8bb0531c1a3eacc4a60604e438b3ed71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
<tr class="separator:a8bb0531c1a3eacc4a60604e438b3ed71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f336d173be030936c7eaec80727a0a6" id="r_a5f336d173be030936c7eaec80727a0a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f336d173be030936c7eaec80727a0a6">operator=</a> (T h) noexcept</td></tr>
<tr class="memdesc:a5f336d173be030936c7eaec80727a0a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attaches already available object handle. <br /></td></tr>
<tr class="separator:a5f336d173be030936c7eaec80727a0a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af25c2323ce6030400bf12be762565350" id="r_af25c2323ce6030400bf12be762565350"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af25c2323ce6030400bf12be762565350">operator=</a> (const <a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;h) noexcept</td></tr>
<tr class="memdesc:af25c2323ce6030400bf12be762565350"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates the object. <br /></td></tr>
<tr class="separator:af25c2323ce6030400bf12be762565350"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71b36749116393468cc7b9307ff21128" id="r_a71b36749116393468cc7b9307ff21128"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a71b36749116393468cc7b9307ff21128">operator=</a> (<a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:a71b36749116393468cc7b9307ff21128"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the object. <br /></td></tr>
<tr class="separator:a71b36749116393468cc7b9307ff21128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae43e59554d0d11b4500daa5bd50bda0d" id="r_ae43e59554d0d11b4500daa5bd50bda0d"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae43e59554d0d11b4500daa5bd50bda0d">duplicate</a> () const</td></tr>
<tr class="memdesc:ae43e59554d0d11b4500daa5bd50bda0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates and returns a new object handle. <br /></td></tr>
<tr class="separator:ae43e59554d0d11b4500daa5bd50bda0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf0b725b54793b240572c0fe86537f3c" id="r_acf0b725b54793b240572c0fe86537f3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acf0b725b54793b240572c0fe86537f3c">attach_duplicated</a> (T h)</td></tr>
<tr class="memdesc:acf0b725b54793b240572c0fe86537f3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicates an object handle and sets a new object handle. <br /></td></tr>
<tr class="separator:acf0b725b54793b240572c0fe86537f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classmacstd_1_1handle"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classmacstd_1_1handle')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td></tr>
<tr class="memitem:a58be08519d6208ba2716dcd79d2f295e inherit pub_methods_classmacstd_1_1handle" id="r_a58be08519d6208ba2716dcd79d2f295e"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>handle</b> () noexcept</td></tr>
<tr class="memdesc:a58be08519d6208ba2716dcd79d2f295e inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with the object handle set to INVAL. <br /></td></tr>
<tr class="separator:a58be08519d6208ba2716dcd79d2f295e inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5906d39969037175bf5b148935ab1d05 inherit pub_methods_classmacstd_1_1handle" id="r_a5906d39969037175bf5b148935ab1d05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a5906d39969037175bf5b148935ab1d05">handle</a> (T h) noexcept</td></tr>
<tr class="memdesc:a5906d39969037175bf5b148935ab1d05 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new class instance with an already available object handle. <br /></td></tr>
<tr class="separator:a5906d39969037175bf5b148935ab1d05 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5e62370d363a2db991b691f5fa4d914 inherit pub_methods_classmacstd_1_1handle" id="r_ae5e62370d363a2db991b691f5fa4d914"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ae5e62370d363a2db991b691f5fa4d914">handle</a> (<a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:ae5e62370d363a2db991b691f5fa4d914 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor. <br /></td></tr>
<tr class="separator:ae5e62370d363a2db991b691f5fa4d914 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0e382917ebdceabe1d1c80780cec8fd inherit pub_methods_classmacstd_1_1handle" id="r_ad0e382917ebdceabe1d1c80780cec8fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ad0e382917ebdceabe1d1c80780cec8fd">operator=</a> (T h) noexcept</td></tr>
<tr class="memdesc:ad0e382917ebdceabe1d1c80780cec8fd inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attaches already available object handle. <br /></td></tr>
<tr class="separator:ad0e382917ebdceabe1d1c80780cec8fd inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2027dc26b8d7dac3410dd9e302a01e31 inherit pub_methods_classmacstd_1_1handle" id="r_a2027dc26b8d7dac3410dd9e302a01e31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a2027dc26b8d7dac3410dd9e302a01e31">operator=</a> (<a class="el" href="classmacstd_1_1handle.html">handle</a>&lt; T, INVAL &gt; &amp;&amp;h) noexcept</td></tr>
<tr class="memdesc:a2027dc26b8d7dac3410dd9e302a01e31 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment. <br /></td></tr>
<tr class="separator:a2027dc26b8d7dac3410dd9e302a01e31 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c6c0152d5cc967558720e9f8ce218df inherit pub_methods_classmacstd_1_1handle" id="r_a1c6c0152d5cc967558720e9f8ce218df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a1c6c0152d5cc967558720e9f8ce218df">operator T</a> () const</td></tr>
<tr class="memdesc:a1c6c0152d5cc967558720e9f8ce218df inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto-typecasting operator. <br /></td></tr>
<tr class="separator:a1c6c0152d5cc967558720e9f8ce218df inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab9ec0feedeb9d115f37d938e923d10c inherit pub_methods_classmacstd_1_1handle" id="r_aab9ec0feedeb9d115f37d938e923d10c"><td class="memItemLeft" align="right" valign="top">T *&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#aab9ec0feedeb9d115f37d938e923d10c">operator*</a> () const</td></tr>
<tr class="memdesc:aab9ec0feedeb9d115f37d938e923d10c inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object handle value when the object handle is a pointer to a value (class, struct, etc.). <br /></td></tr>
<tr class="separator:aab9ec0feedeb9d115f37d938e923d10c inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8405a3ff7aefc002779984f856678960 inherit pub_methods_classmacstd_1_1handle" id="r_a8405a3ff7aefc002779984f856678960"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a8405a3ff7aefc002779984f856678960">operator&amp;</a> ()</td></tr>
<tr class="memdesc:a8405a3ff7aefc002779984f856678960 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object handle reference. <br /></td></tr>
<tr class="separator:a8405a3ff7aefc002779984f856678960 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff8db2489369bcdbb9ebf60ee7095878 inherit pub_methods_classmacstd_1_1handle" id="r_aff8db2489369bcdbb9ebf60ee7095878"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#aff8db2489369bcdbb9ebf60ee7095878">operator-&gt;</a> () const</td></tr>
<tr class="memdesc:aff8db2489369bcdbb9ebf60ee7095878 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides object handle member access when the object handle is a pointer to a class or struct. <br /></td></tr>
<tr class="separator:aff8db2489369bcdbb9ebf60ee7095878 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d446bed338bb91b639fe2f34141b62 inherit pub_methods_classmacstd_1_1handle" id="r_ac1d446bed338bb91b639fe2f34141b62"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ac1d446bed338bb91b639fe2f34141b62">operator!</a> () const</td></tr>
<tr class="memdesc:ac1d446bed338bb91b639fe2f34141b62 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if the object handle is invalid. <br /></td></tr>
<tr class="separator:ac1d446bed338bb91b639fe2f34141b62 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae50ded4e3696cebbdb5145fa8f58ad23 inherit pub_methods_classmacstd_1_1handle" id="r_ae50ded4e3696cebbdb5145fa8f58ad23"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ae50ded4e3696cebbdb5145fa8f58ad23">operator&lt;</a> (T h) const</td></tr>
<tr class="memdesc:ae50ded4e3696cebbdb5145fa8f58ad23 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle less than? <br /></td></tr>
<tr class="separator:ae50ded4e3696cebbdb5145fa8f58ad23 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eaa05a6124133c11663f1c6c2666f7b inherit pub_methods_classmacstd_1_1handle" id="r_a4eaa05a6124133c11663f1c6c2666f7b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a4eaa05a6124133c11663f1c6c2666f7b">operator&lt;=</a> (T h) const</td></tr>
<tr class="memdesc:a4eaa05a6124133c11663f1c6c2666f7b inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle less than or equal to? <br /></td></tr>
<tr class="separator:a4eaa05a6124133c11663f1c6c2666f7b inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10b5fff674bc904f841925f54a98801e inherit pub_methods_classmacstd_1_1handle" id="r_a10b5fff674bc904f841925f54a98801e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a10b5fff674bc904f841925f54a98801e">operator&gt;=</a> (T h) const</td></tr>
<tr class="memdesc:a10b5fff674bc904f841925f54a98801e inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle greater than or equal to? <br /></td></tr>
<tr class="separator:a10b5fff674bc904f841925f54a98801e inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a862b5aec5f974071ddf14a2a7b6570d2 inherit pub_methods_classmacstd_1_1handle" id="r_a862b5aec5f974071ddf14a2a7b6570d2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a862b5aec5f974071ddf14a2a7b6570d2">operator&gt;</a> (T h) const</td></tr>
<tr class="memdesc:a862b5aec5f974071ddf14a2a7b6570d2 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle greater than? <br /></td></tr>
<tr class="separator:a862b5aec5f974071ddf14a2a7b6570d2 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc4a33c5a33325aa3106d9eaab5384a inherit pub_methods_classmacstd_1_1handle" id="r_adcc4a33c5a33325aa3106d9eaab5384a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#adcc4a33c5a33325aa3106d9eaab5384a">operator!=</a> (T h) const</td></tr>
<tr class="memdesc:adcc4a33c5a33325aa3106d9eaab5384a inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle not equal to? <br /></td></tr>
<tr class="separator:adcc4a33c5a33325aa3106d9eaab5384a inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a724b10f5424177670f04180e32b7f129 inherit pub_methods_classmacstd_1_1handle" id="r_a724b10f5424177670f04180e32b7f129"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a724b10f5424177670f04180e32b7f129">operator==</a> (T h) const</td></tr>
<tr class="memdesc:a724b10f5424177670f04180e32b7f129 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is handle equal to? <br /></td></tr>
<tr class="separator:a724b10f5424177670f04180e32b7f129 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69d07a5c3334ce61998880b0d620c6fd inherit pub_methods_classmacstd_1_1handle" id="r_a69d07a5c3334ce61998880b0d620c6fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a69d07a5c3334ce61998880b0d620c6fd">attach</a> (T h) noexcept</td></tr>
<tr class="memdesc:a69d07a5c3334ce61998880b0d620c6fd inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a new object handle for the class. <br /></td></tr>
<tr class="separator:a69d07a5c3334ce61998880b0d620c6fd inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad17472a1418050b801ee80a32c49c325 inherit pub_methods_classmacstd_1_1handle" id="r_ad17472a1418050b801ee80a32c49c325"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#ad17472a1418050b801ee80a32c49c325">detach</a> ()</td></tr>
<tr class="memdesc:ad17472a1418050b801ee80a32c49c325 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dismisses the object handle from this class. <br /></td></tr>
<tr class="separator:ad17472a1418050b801ee80a32c49c325 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc07860aaf0eeeabe6e7e7474b6d176 inherit pub_methods_classmacstd_1_1handle" id="r_afbc07860aaf0eeeabe6e7e7474b6d176"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>free</b> ()</td></tr>
<tr class="memdesc:afbc07860aaf0eeeabe6e7e7474b6d176 inherit pub_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys the object. <br /></td></tr>
<tr class="separator:afbc07860aaf0eeeabe6e7e7474b6d176 inherit pub_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a33df964f028970ac0321568c3582d550" id="r_a33df964f028970ac0321568c3582d550"><td class="memItemLeft" align="right" valign="top">virtual T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a33df964f028970ac0321568c3582d550">duplicate_internal</a> (T h) const =0</td></tr>
<tr class="memdesc:a33df964f028970ac0321568c3582d550"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle. <br /></td></tr>
<tr class="separator:a33df964f028970ac0321568c3582d550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classmacstd_1_1handle"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_classmacstd_1_1handle')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td></tr>
<tr class="memitem:a5e3365827f995ee2a580d2c669ddcafe inherit pro_methods_classmacstd_1_1handle" id="r_a5e3365827f995ee2a580d2c669ddcafe"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmacstd_1_1handle.html#a5e3365827f995ee2a580d2c669ddcafe">free_internal</a> () noexcept=0</td></tr>
<tr class="memdesc:a5e3365827f995ee2a580d2c669ddcafe inherit pro_methods_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract member function that must be implemented by child classes to do the actual object destruction. <br /></td></tr>
<tr class="separator:a5e3365827f995ee2a580d2c669ddcafe inherit pro_methods_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_classmacstd_1_1handle"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_classmacstd_1_1handle')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classmacstd_1_1handle.html">macstd::handle&lt; T, INVAL &gt;</a></td></tr>
<tr class="memitem:ab65b198a6e06f14b29be176cdff7556e inherit pro_attribs_classmacstd_1_1handle" id="r_ab65b198a6e06f14b29be176cdff7556e"><td class="memItemLeft" align="right" valign="top">
T&#160;</td><td class="memItemRight" valign="bottom"><b>m_h</b></td></tr>
<tr class="memdesc:ab65b198a6e06f14b29be176cdff7556e inherit pro_attribs_classmacstd_1_1handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object handle. <br /></td></tr>
<tr class="separator:ab65b198a6e06f14b29be176cdff7556e inherit pro_attribs_classmacstd_1_1handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class T, T INVAL&gt;<br />
class macstd::dplhandle&lt; T, INVAL &gt;</div><p>Base abstract template class to support object handle keeping for objects that support trivial handle duplication. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a7250ebf4632a7d48b071dc10b8e4b986" name="a7250ebf4632a7d48b071dc10b8e4b986"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7250ebf4632a7d48b071dc10b8e4b986">&#9670;&#160;</a></span>dplhandle() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::dplhandle </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a new class instance with an already available object handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Initial object handle value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a835eca8008bbdd42aa4bbb76072c637b" name="a835eca8008bbdd42aa4bbb76072c637b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a835eca8008bbdd42aa4bbb76072c637b">&#9670;&#160;</a></span>dplhandle() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::dplhandle </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>h</em></span></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>Copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">h</td><td>A reference of another object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8bb0531c1a3eacc4a60604e438b3ed71" name="a8bb0531c1a3eacc4a60604e438b3ed71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8bb0531c1a3eacc4a60604e438b3ed71">&#9670;&#160;</a></span>dplhandle() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::dplhandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&amp;</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">h</td><td>A rvalue reference of another object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="acf0b725b54793b240572c0fe86537f3c" name="acf0b725b54793b240572c0fe86537f3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf0b725b54793b240572c0fe86537f3c">&#9670;&#160;</a></span>attach_duplicated()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::attach_duplicated </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></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>Duplicates an object handle and sets a new object handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle of existing object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ae43e59554d0d11b4500daa5bd50bda0d" name="ae43e59554d0d11b4500daa5bd50bda0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae43e59554d0d11b4500daa5bd50bda0d">&#9670;&#160;</a></span>duplicate()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">T <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::duplicate </td>
<td>(</td>
<td class="paramname"><span class="paramname"><em></em></span></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>Duplicates and returns a new object handle. </p>
<dl class="section return"><dt>Returns</dt><dd>Duplicated object handle </dd></dl>
</div>
</div>
<a id="a33df964f028970ac0321568c3582d550" name="a33df964f028970ac0321568c3582d550"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33df964f028970ac0321568c3582d550">&#9670;&#160;</a></span>duplicate_internal()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual T <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::duplicate_internal </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Abstract member function that must be implemented by child classes to do the actual object handle duplication. On failure, it should throw appropriate exception describing the cause, rather than return an invalid handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle of existing object</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Duplicated object handle </dd></dl>
</div>
</div>
<a id="af25c2323ce6030400bf12be762565350" name="af25c2323ce6030400bf12be762565350"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af25c2323ce6030400bf12be762565350">&#9670;&#160;</a></span>operator=() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp; <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Duplicates the object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a71b36749116393468cc7b9307ff21128" name="a71b36749116393468cc7b9307ff21128"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71b36749116393468cc7b9307ff21128">&#9670;&#160;</a></span>operator=() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp; <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp;&amp;</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Moves the object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">h</td><td>A rvalue reference of another object </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5f336d173be030936c7eaec80727a0a6" name="a5f336d173be030936c7eaec80727a0a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f336d173be030936c7eaec80727a0a6">&#9670;&#160;</a></span>operator=() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , T INVAL&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmacstd_1_1dplhandle.html">dplhandle</a>&lt; T, INVAL &gt; &amp; <a class="el" href="classmacstd_1_1dplhandle.html">macstd::dplhandle</a>&lt; T, INVAL &gt;::operator= </td>
<td>(</td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>h</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Attaches already available object handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">h</td><td>Object handle value </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/MacStd/<a class="el" href="common_8hpp_source.html">common.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Oct 1 2024 11:48:46 for MacStd by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>