<!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.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libzypp: zypp::AutoDispose< Tp > 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> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</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">libzypp  <span id="projectnumber">17.9.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <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('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('classzypp_1_1AutoDispose.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pri-attribs">Private Attributes</a> | <a href="#related">Related Functions</a> | <a href="classzypp_1_1AutoDispose-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">zypp::AutoDispose< Tp > Class Template Reference</div> </div> </div><!--header--> <div class="contents"> <p>Reference counted access to a <code>Tp</code> object calling a custom <code>Dispose</code> function when the last <a class="el" href="classzypp_1_1AutoDispose.html" title="Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...">AutoDispose</a> handle to it is destroyed or reset. <a href="classzypp_1_1AutoDispose.html#details">More...</a></p> <p><code>#include <<a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>></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  </td><td class="memItemRight" valign="bottom"><a class="el" href="structzypp_1_1AutoDispose_1_1Impl.html">Impl</a></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="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:ab3df0bc18dff2c2a4902c412cb00e608"><td class="memItemLeft" align="right" valign="top">typedef boost::call_traits< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a></td></tr> <tr class="separator:ab3df0bc18dff2c2a4902c412cb00e608"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abb556ba42dc383abb4fa2cc958a3d3d1"><td class="memItemLeft" align="right" valign="top">typedef boost::call_traits< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#abb556ba42dc383abb4fa2cc958a3d3d1">reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#abb556ba42dc383abb4fa2cc958a3d3d1">reference</a></td></tr> <tr class="separator:abb556ba42dc383abb4fa2cc958a3d3d1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abc5604a8f18f19d6122fa8672985278d"><td class="memItemLeft" align="right" valign="top">typedef boost::call_traits< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#abc5604a8f18f19d6122fa8672985278d">const_reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#abc5604a8f18f19d6122fa8672985278d">const_reference</a></td></tr> <tr class="separator:abc5604a8f18f19d6122fa8672985278d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1b6244c9726967287bef9c71c7121108"><td class="memItemLeft" align="right" valign="top">typedef Tp </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a1b6244c9726967287bef9c71c7121108">value_type</a></td></tr> <tr class="separator:a1b6244c9726967287bef9c71c7121108"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aece623ce58cc8fbd03b78f33206430d5"><td class="memItemLeft" align="right" valign="top">typedef boost::call_traits< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#a1b6244c9726967287bef9c71c7121108">value_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#aece623ce58cc8fbd03b78f33206430d5">result_type</a></td></tr> <tr class="separator:aece623ce58cc8fbd03b78f33206430d5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad13698b9a0ca43fb62b44a9af7a28d4a"><td class="memItemLeft" align="right" valign="top">typedef function< void(<a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a>)> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a></td></tr> <tr class="memdesc:ad13698b9a0ca43fb62b44a9af7a28d4a"><td class="mdescLeft"> </td><td class="mdescRight">Dispose function signatue. <a href="#ad13698b9a0ca43fb62b44a9af7a28d4a">More...</a><br /></td></tr> <tr class="separator:ad13698b9a0ca43fb62b44a9af7a28d4a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a620722812d4b6d60372893ef92e6b4ee"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a620722812d4b6d60372893ef92e6b4ee">AutoDispose</a> ()</td></tr> <tr class="memdesc:a620722812d4b6d60372893ef92e6b4ee"><td class="mdescLeft"> </td><td class="mdescRight">Default Ctor using default constructed value and no dispose function. <a href="#a620722812d4b6d60372893ef92e6b4ee">More...</a><br /></td></tr> <tr class="separator:a620722812d4b6d60372893ef92e6b4ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a696718e533560738ce70ba5cae05c21a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a696718e533560738ce70ba5cae05c21a">AutoDispose</a> (const <a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a> &dispose_r)</td></tr> <tr class="memdesc:a696718e533560738ce70ba5cae05c21a"><td class="mdescLeft"> </td><td class="mdescRight">Ctor taking dispose function and using default constructed value. <a href="#a696718e533560738ce70ba5cae05c21a">More...</a><br /></td></tr> <tr class="separator:a696718e533560738ce70ba5cae05c21a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0b0fc4ec938b45795ead31d855176ce8"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a0b0fc4ec938b45795ead31d855176ce8">AutoDispose</a> (<a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a> value_r)</td></tr> <tr class="memdesc:a0b0fc4ec938b45795ead31d855176ce8"><td class="mdescLeft"> </td><td class="mdescRight">Ctor taking value and no dispose function. <a href="#a0b0fc4ec938b45795ead31d855176ce8">More...</a><br /></td></tr> <tr class="separator:a0b0fc4ec938b45795ead31d855176ce8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a07b097ba28c600135e97cbca80ce0101"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a07b097ba28c600135e97cbca80ce0101">AutoDispose</a> (<a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a> value_r, const <a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a> &dispose_r)</td></tr> <tr class="memdesc:a07b097ba28c600135e97cbca80ce0101"><td class="mdescLeft"> </td><td class="mdescRight">Ctor taking value and dispose function. <a href="#a07b097ba28c600135e97cbca80ce0101">More...</a><br /></td></tr> <tr class="separator:a07b097ba28c600135e97cbca80ce0101"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa56d01e016e79e0c3a9b6535e7437ccb"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#aa56d01e016e79e0c3a9b6535e7437ccb">operator reference</a> () const</td></tr> <tr class="memdesc:aa56d01e016e79e0c3a9b6535e7437ccb"><td class="mdescLeft"> </td><td class="mdescRight">Provide implicit conversion to <code>Tp&</code>. <a href="#aa56d01e016e79e0c3a9b6535e7437ccb">More...</a><br /></td></tr> <tr class="separator:aa56d01e016e79e0c3a9b6535e7437ccb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4b4317c4769036059b71aa594012cc84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzypp_1_1AutoDispose.html#abb556ba42dc383abb4fa2cc958a3d3d1">reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a4b4317c4769036059b71aa594012cc84">value</a> () const</td></tr> <tr class="memdesc:a4b4317c4769036059b71aa594012cc84"><td class="mdescLeft"> </td><td class="mdescRight">Reference to the <code>Tp</code> object. <a href="#a4b4317c4769036059b71aa594012cc84">More...</a><br /></td></tr> <tr class="separator:a4b4317c4769036059b71aa594012cc84"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a76af2bfbf42e796d46bd7660a45816c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzypp_1_1AutoDispose.html#abb556ba42dc383abb4fa2cc958a3d3d1">reference</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a76af2bfbf42e796d46bd7660a45816c0">operator*</a> () const</td></tr> <tr class="memdesc:a76af2bfbf42e796d46bd7660a45816c0"><td class="mdescLeft"> </td><td class="mdescRight">Reference to the <code>Tp</code> object. <a href="#a76af2bfbf42e796d46bd7660a45816c0">More...</a><br /></td></tr> <tr class="separator:a76af2bfbf42e796d46bd7660a45816c0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6c791c27c94f1890a6563d8230012c00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classzypp_1_1AutoDispose.html#a1b6244c9726967287bef9c71c7121108">value_type</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a6c791c27c94f1890a6563d8230012c00">operator-></a> () const</td></tr> <tr class="memdesc:a6c791c27c94f1890a6563d8230012c00"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to the <code>Tp</code> object (asserted to be <code>!= NULL</code>). <a href="#a6c791c27c94f1890a6563d8230012c00">More...</a><br /></td></tr> <tr class="separator:a6c791c27c94f1890a6563d8230012c00"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a870d08c5f42e20d6b53e1c145344681d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a870d08c5f42e20d6b53e1c145344681d">reset</a> ()</td></tr> <tr class="memdesc:a870d08c5f42e20d6b53e1c145344681d"><td class="mdescLeft"> </td><td class="mdescRight">Reset to default Ctor values. <a href="#a870d08c5f42e20d6b53e1c145344681d">More...</a><br /></td></tr> <tr class="separator:a870d08c5f42e20d6b53e1c145344681d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a92a9cf8acf905e3b4af55f0de2a4628e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a92a9cf8acf905e3b4af55f0de2a4628e">swap</a> (<a class="el" href="classzypp_1_1AutoDispose.html">AutoDispose</a> &rhs)</td></tr> <tr class="memdesc:a92a9cf8acf905e3b4af55f0de2a4628e"><td class="mdescLeft"> </td><td class="mdescRight">Exchange the contents of two <a class="el" href="classzypp_1_1AutoDispose.html" title="Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...">AutoDispose</a> objects. <a href="#a92a9cf8acf905e3b4af55f0de2a4628e">More...</a><br /></td></tr> <tr class="separator:a92a9cf8acf905e3b4af55f0de2a4628e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a42d134471909f646b3b858f5109b638b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a42d134471909f646b3b858f5109b638b">getDispose</a> () const</td></tr> <tr class="memdesc:a42d134471909f646b3b858f5109b638b"><td class="mdescLeft"> </td><td class="mdescRight">Return the current dispose function. <a href="#a42d134471909f646b3b858f5109b638b">More...</a><br /></td></tr> <tr class="separator:a42d134471909f646b3b858f5109b638b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac078686f360b5010557c32078fb1f3d6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#ac078686f360b5010557c32078fb1f3d6">setDispose</a> (const <a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a> &dispose_r)</td></tr> <tr class="memdesc:ac078686f360b5010557c32078fb1f3d6"><td class="mdescLeft"> </td><td class="mdescRight">Set a new dispose function. <a href="#ac078686f360b5010557c32078fb1f3d6">More...</a><br /></td></tr> <tr class="separator:ac078686f360b5010557c32078fb1f3d6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a521dbb5b910cd99a33850c12de8987d5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a521dbb5b910cd99a33850c12de8987d5">resetDispose</a> ()</td></tr> <tr class="memdesc:a521dbb5b910cd99a33850c12de8987d5"><td class="mdescLeft"> </td><td class="mdescRight">Set no dispose function. <a href="#a521dbb5b910cd99a33850c12de8987d5">More...</a><br /></td></tr> <tr class="separator:a521dbb5b910cd99a33850c12de8987d5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa68086f369be68b87f824151d4e45c2b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#aa68086f369be68b87f824151d4e45c2b">swapDispose</a> (<a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a> &dispose_r)</td></tr> <tr class="memdesc:aa68086f369be68b87f824151d4e45c2b"><td class="mdescLeft"> </td><td class="mdescRight">Exchange the dispose function. <a href="#aa68086f369be68b87f824151d4e45c2b">More...</a><br /></td></tr> <tr class="separator:aa68086f369be68b87f824151d4e45c2b"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a> Private Attributes</h2></td></tr> <tr class="memitem:a8af90dae312275b4da24cbc20a205080"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshared__ptr.html">shared_ptr</a>< <a class="el" href="structzypp_1_1AutoDispose_1_1Impl.html">Impl</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a8af90dae312275b4da24cbc20a205080">_pimpl</a></td></tr> <tr class="separator:a8af90dae312275b4da24cbc20a205080"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="related"></a> Related Functions</h2></td></tr> <tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p> </td></tr> <tr class="memitem:a4bfbb133924af2b5cff229229330bfef"><td class="memTemplParams" colspan="2">template<class Tp > </td></tr> <tr class="memitem:a4bfbb133924af2b5cff229229330bfef"><td class="memTemplItemLeft" align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classzypp_1_1AutoDispose.html#a4bfbb133924af2b5cff229229330bfef">operator<<</a> (std::ostream &str, const <a class="el" href="classzypp_1_1AutoDispose.html">AutoDispose</a>< Tp > &obj)</td></tr> <tr class="separator:a4bfbb133924af2b5cff229229330bfef"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><h3>template<class Tp><br /> class zypp::AutoDispose< Tp ></h3> <p>Reference counted access to a <code>Tp</code> object calling a custom <code>Dispose</code> function when the last <a class="el" href="classzypp_1_1AutoDispose.html" title="Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...">AutoDispose</a> handle to it is destroyed or reset. </p> <dl class="section note"><dt>Note</dt><dd>As with pointers, constness of an <code><a class="el" href="classzypp_1_1AutoDispose.html" title="Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...">AutoDispose</a></code> object does <b>not</b> apply to the stored <code>Tp</code> object. If the stored <code>Tp</code> object should be immutable, you should use <code><a class="el" href="classzypp_1_1AutoDispose.html" title="Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...">AutoDispose</a><const Tp></code>.</dd></dl> <p>Pass a filename to the application and provide the appropriate code to be executed when the file is no longer needed: </p><div class="fragment"><div class="line"><span class="keyword">struct </span>FileCache</div><div class="line">{</div><div class="line"> Pathname getFile();</div><div class="line"> <span class="keywordtype">void</span> releaseFile( <span class="keyword">const</span> Pathname & );</div><div class="line">};</div><div class="line"></div><div class="line"><span class="keyword">static</span> FileCache cache;</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1filesystem.html#a4c64d87548a31ac2d33c378075dd6a12">unlink</a>( <span class="keyword">const</span> Pathname & file_r );</div><div class="line"></div><div class="line">AutoDispose<const Pathname> <a class="code" href="namespacezypp_1_1repo.html#a2e6b5d14afa0af8e52925c440fa77435">provideFile</a>( ... )</div><div class="line">{</div><div class="line"> <span class="keywordflow">if</span> ( file_is_in_cache )</div><div class="line"> {</div><div class="line"> <span class="comment">// will call 'cache.releaseFile( file )'</span></div><div class="line"> <span class="keywordflow">return</span> AutoDispose<const Pathname>( cache.getFile(),</div><div class="line"> bind( &FileCache::releaseFile, ref(cache), _1 ) );</div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( file_is_temporary )</div><div class="line"> {</div><div class="line"> <span class="comment">// will call 'unlink( file )'</span></div><div class="line"> <span class="keywordflow">return</span> AutoDispose<const Pathname>( file, <a class="code" href="namespacezypp_1_1filesystem.html#a4c64d87548a31ac2d33c378075dd6a12">unlink</a> );</div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( file_is_permanent )</div><div class="line"> {</div><div class="line"> <span class="comment">// will do nothing.</span></div><div class="line"> <span class="keywordflow">return</span> AutoDispose<const Pathname>( file );</div><div class="line"> }</div><div class="line"> <span class="keywordflow">else</span></div><div class="line"> {</div><div class="line"> <span class="comment">// will do nothing.</span></div><div class="line"> <span class="keywordflow">return</span> AutoDispose<const Pathname>();</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --><p><a class="el" href="classzypp_1_1Exception.html" title="Base class for Exception.">Exception</a> safe handling of temporary files: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> provideFileAt( <span class="keyword">const</span> Pathname & destination )</div><div class="line">{</div><div class="line"> AutoDispose<const Pathname> guard( destination, <a class="code" href="namespacezypp_1_1filesystem.html#a4c64d87548a31ac2d33c378075dd6a12">unlink</a> );</div><div class="line"></div><div class="line"> <span class="comment">// Any exception here will lead to 'unlink( destination )'</span></div><div class="line"> <span class="comment">// ...</span></div><div class="line"></div><div class="line"> <span class="comment">// On success: reset the dispose function to NOOP.</span></div><div class="line"> guard.resetDispose();</div><div class="line">}</div></div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00092">92</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div><h2 class="groupheader">Member Typedef Documentation</h2> <a id="ab3df0bc18dff2c2a4902c412cb00e608"></a> <h2 class="memtitle"><span class="permalink"><a href="#ab3df0bc18dff2c2a4902c412cb00e608">◆ </a></span>param_type</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="memname"> <tr> <td class="memname">typedef boost::call_traits<Tp>::<a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a> <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00095">95</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="abb556ba42dc383abb4fa2cc958a3d3d1"></a> <h2 class="memtitle"><span class="permalink"><a href="#abb556ba42dc383abb4fa2cc958a3d3d1">◆ </a></span>reference</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="memname"> <tr> <td class="memname">typedef boost::call_traits<Tp>::<a class="el" href="classzypp_1_1AutoDispose.html#abb556ba42dc383abb4fa2cc958a3d3d1">reference</a> <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#abb556ba42dc383abb4fa2cc958a3d3d1">reference</a></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00096">96</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="abc5604a8f18f19d6122fa8672985278d"></a> <h2 class="memtitle"><span class="permalink"><a href="#abc5604a8f18f19d6122fa8672985278d">◆ </a></span>const_reference</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="memname"> <tr> <td class="memname">typedef boost::call_traits<Tp>::<a class="el" href="classzypp_1_1AutoDispose.html#abc5604a8f18f19d6122fa8672985278d">const_reference</a> <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#abc5604a8f18f19d6122fa8672985278d">const_reference</a></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00097">97</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a1b6244c9726967287bef9c71c7121108"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1b6244c9726967287bef9c71c7121108">◆ </a></span>value_type</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="memname"> <tr> <td class="memname">typedef Tp <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#a1b6244c9726967287bef9c71c7121108">value_type</a></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00098">98</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="aece623ce58cc8fbd03b78f33206430d5"></a> <h2 class="memtitle"><span class="permalink"><a href="#aece623ce58cc8fbd03b78f33206430d5">◆ </a></span>result_type</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="memname"> <tr> <td class="memname">typedef boost::call_traits<Tp>::<a class="el" href="classzypp_1_1AutoDispose.html#a1b6244c9726967287bef9c71c7121108">value_type</a> <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#aece623ce58cc8fbd03b78f33206430d5">result_type</a></td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00099">99</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="ad13698b9a0ca43fb62b44a9af7a28d4a"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad13698b9a0ca43fb62b44a9af7a28d4a">◆ </a></span>Dispose</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="memname"> <tr> <td class="memname">typedef function<void ( <a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a> )> <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a></td> </tr> </table> </div><div class="memdoc"> <p>Dispose function signatue. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00103">103</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="a620722812d4b6d60372893ef92e6b4ee"></a> <h2 class="memtitle"><span class="permalink"><a href="#a620722812d4b6d60372893ef92e6b4ee">◆ </a></span>AutoDispose() <span class="overload">[1/4]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html">AutoDispose</a> </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>Default Ctor using default constructed value and no dispose function. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00107">107</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a696718e533560738ce70ba5cae05c21a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a696718e533560738ce70ba5cae05c21a">◆ </a></span>AutoDispose() <span class="overload">[2/4]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html">AutoDispose</a> </td> <td>(</td> <td class="paramtype">const <a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a> & </td> <td class="paramname"><em>dispose_r</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Ctor taking dispose function and using default constructed value. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00112">112</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a0b0fc4ec938b45795ead31d855176ce8"></a> <h2 class="memtitle"><span class="permalink"><a href="#a0b0fc4ec938b45795ead31d855176ce8">◆ </a></span>AutoDispose() <span class="overload">[3/4]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html">AutoDispose</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a> </td> <td class="paramname"><em>value_r</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Ctor taking value and no dispose function. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00117">117</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a07b097ba28c600135e97cbca80ce0101"></a> <h2 class="memtitle"><span class="permalink"><a href="#a07b097ba28c600135e97cbca80ce0101">◆ </a></span>AutoDispose() <span class="overload">[4/4]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::<a class="el" href="classzypp_1_1AutoDispose.html">AutoDispose</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classzypp_1_1AutoDispose.html#ab3df0bc18dff2c2a4902c412cb00e608">param_type</a> </td> <td class="paramname"><em>value_r</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a> & </td> <td class="paramname"><em>dispose_r</em> </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>Ctor taking value and dispose function. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00122">122</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="aa56d01e016e79e0c3a9b6535e7437ccb"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa56d01e016e79e0c3a9b6535e7437ccb">◆ </a></span>operator reference()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::operator <a class="el" href="classzypp_1_1AutoDispose.html#abb556ba42dc383abb4fa2cc958a3d3d1">reference</a> </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>Provide implicit conversion to <code>Tp&</code>. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00129">129</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a4b4317c4769036059b71aa594012cc84"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4b4317c4769036059b71aa594012cc84">◆ </a></span>value()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classzypp_1_1AutoDispose.html#abb556ba42dc383abb4fa2cc958a3d3d1">reference</a> <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::value </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>Reference to the <code>Tp</code> object. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00133">133</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a76af2bfbf42e796d46bd7660a45816c0"></a> <h2 class="memtitle"><span class="permalink"><a href="#a76af2bfbf42e796d46bd7660a45816c0">◆ </a></span>operator*()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classzypp_1_1AutoDispose.html#abb556ba42dc383abb4fa2cc958a3d3d1">reference</a> <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::operator* </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>Reference to the <code>Tp</code> object. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00137">137</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a6c791c27c94f1890a6563d8230012c00"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6c791c27c94f1890a6563d8230012c00">◆ </a></span>operator->()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classzypp_1_1AutoDispose.html#a1b6244c9726967287bef9c71c7121108">value_type</a>* <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::operator-> </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>Pointer to the <code>Tp</code> object (asserted to be <code>!= NULL</code>). </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00141">141</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a870d08c5f42e20d6b53e1c145344681d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a870d08c5f42e20d6b53e1c145344681d">◆ </a></span>reset()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::reset </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>Reset to default Ctor values. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00145">145</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a92a9cf8acf905e3b4af55f0de2a4628e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a92a9cf8acf905e3b4af55f0de2a4628e">◆ </a></span>swap()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::swap </td> <td>(</td> <td class="paramtype"><a class="el" href="classzypp_1_1AutoDispose.html">AutoDispose</a>< Tp > & </td> <td class="paramname"><em>rhs</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>Exchange the contents of two <a class="el" href="classzypp_1_1AutoDispose.html" title="Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...">AutoDispose</a> objects. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00149">149</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a42d134471909f646b3b858f5109b638b"></a> <h2 class="memtitle"><span class="permalink"><a href="#a42d134471909f646b3b858f5109b638b">◆ </a></span>getDispose()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a>& <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::getDispose </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>Return the current dispose function. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00154">154</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="ac078686f360b5010557c32078fb1f3d6"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac078686f360b5010557c32078fb1f3d6">◆ </a></span>setDispose()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::setDispose </td> <td>(</td> <td class="paramtype">const <a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a> & </td> <td class="paramname"><em>dispose_r</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>Set a new dispose function. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00158">158</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="a521dbb5b910cd99a33850c12de8987d5"></a> <h2 class="memtitle"><span class="permalink"><a href="#a521dbb5b910cd99a33850c12de8987d5">◆ </a></span>resetDispose()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::resetDispose </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>Set no dispose function. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00162">162</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <a id="aa68086f369be68b87f824151d4e45c2b"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa68086f369be68b87f824151d4e45c2b">◆ </a></span>swapDispose()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::swapDispose </td> <td>(</td> <td class="paramtype"><a class="el" href="classzypp_1_1AutoDispose.html#ad13698b9a0ca43fb62b44a9af7a28d4a">Dispose</a> & </td> <td class="paramname"><em>dispose_r</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>Exchange the dispose function. </p> <ul> <li></li> </ul> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00166">166</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <h2 class="groupheader">Friends And Related Function Documentation</h2> <a id="a4bfbb133924af2b5cff229229330bfef"></a> <h2 class="memtitle"><span class="permalink"><a href="#a4bfbb133924af2b5cff229229330bfef">◆ </a></span>operator<<()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">std::ostream & operator<< </td> <td>(</td> <td class="paramtype">std::ostream & </td> <td class="paramname"><em>str</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classzypp_1_1AutoDispose.html">AutoDispose</a>< Tp > & </td> <td class="paramname"><em>obj</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></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>Stream output of the <code>Tp</code> object. </p> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00194">194</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a id="a8af90dae312275b4da24cbc20a205080"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8af90dae312275b4da24cbc20a205080">◆ </a></span>_pimpl</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<class Tp> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classshared__ptr.html">shared_ptr</a><<a class="el" href="structzypp_1_1AutoDispose_1_1Impl.html">Impl</a>> <a class="el" href="classzypp_1_1AutoDispose.html">zypp::AutoDispose</a>< Tp >::_pimpl</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">private</span></span> </td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="AutoDispose_8h_source.html#l00188">188</a> of file <a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>zypp/<a class="el" href="AutoDispose_8h_source.html">AutoDispose.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="namespacezypp.html">zypp</a></li><li class="navelem"><a class="el" href="classzypp_1_1AutoDispose.html">AutoDispose</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>