Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > ba6e5e1a033bd8535c43a771ce407926 > files > 202

lib64cxx-gtk-utils2.2-devel-2.2.3-2.mga4.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.4"/>
<title>c++-gtk-utils: Cgu::ScopedHandle&lt; T, Dealloc &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>
<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 style="padding-left: 0.5em;">
   <div id="projectname">c++-gtk-utils
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceCgu.html">Cgu</a></li><li class="navelem"><a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classCgu_1_1ScopedHandle-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Cgu::ScopedHandle&lt; T, Dealloc &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__handles.html">handles and smart pointers</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>This is a generic scoped class for managing the lifetime of objects allocated on freestore.  
 <a href="classCgu_1_1ScopedHandle.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="shared__handle_8h_source.html">c++-gtk-utils/shared_handle.h</a>&gt;</code></p>
<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:ad2eb977f01fa77650f4bee7cd98e27bb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#ad2eb977f01fa77650f4bee7cd98e27bb">ScopedHandle</a> (const <a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a> &amp;)=delete</td></tr>
<tr class="separator:ad2eb977f01fa77650f4bee7cd98e27bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99c84ced2d26f53ffe80ccca89a1b2e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#a99c84ced2d26f53ffe80ccca89a1b2e4">operator=</a> (const <a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a> &amp;)=delete</td></tr>
<tr class="separator:a99c84ced2d26f53ffe80ccca89a1b2e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a338dbeeb32e520f1dcc10924838bdb22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#a338dbeeb32e520f1dcc10924838bdb22">ScopedHandle</a> (<a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a> &amp;&amp;sc_hand) noexcept</td></tr>
<tr class="separator:a338dbeeb32e520f1dcc10924838bdb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a296ee1fb0cc8d6b6dc6530aaf02115e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#a296ee1fb0cc8d6b6dc6530aaf02115e3">operator=</a> (<a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a> &amp;&amp;sc_hand)</td></tr>
<tr class="separator:a296ee1fb0cc8d6b6dc6530aaf02115e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d2d5bcb098896007ea828ef36710013"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#a5d2d5bcb098896007ea828ef36710013">ScopedHandle</a> (T ptr=0) noexcept</td></tr>
<tr class="separator:a5d2d5bcb098896007ea828ef36710013"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d3bbbe7039f33ffada38b1057947c3a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#a1d3bbbe7039f33ffada38b1057947c3a">reset</a> (T ptr=0)</td></tr>
<tr class="separator:a1d3bbbe7039f33ffada38b1057947c3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5631c62579b6199a3c4812d488d8ad3f"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#a5631c62579b6199a3c4812d488d8ad3f">release</a> () noexcept</td></tr>
<tr class="separator:a5631c62579b6199a3c4812d488d8ad3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6296e365ba6fa5741b6e17e2d8469c71"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#a6296e365ba6fa5741b6e17e2d8469c71">get</a> () const noexcept</td></tr>
<tr class="separator:a6296e365ba6fa5741b6e17e2d8469c71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac24cc52f591b4d25ddefc787d7b32174"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#ac24cc52f591b4d25ddefc787d7b32174">operator T</a> () const noexcept</td></tr>
<tr class="separator:ac24cc52f591b4d25ddefc787d7b32174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0d2b3335bcfa44d1ca1f23197133f90"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCgu_1_1ScopedHandle.html#aa0d2b3335bcfa44d1ca1f23197133f90">~ScopedHandle</a> ()</td></tr>
<tr class="separator:aa0d2b3335bcfa44d1ca1f23197133f90"><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 T, class Dealloc&gt;<br/>
class Cgu::ScopedHandle&lt; T, Dealloc &gt;</h3>

<p>This is a generic scoped class for managing the lifetime of objects allocated on freestore. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classCgu_1_1SharedHandle.html" title="This is a generic class for managing the lifetime of objects allocated on freestore. ">SharedHandle</a> <a class="el" href="classCgu_1_1SharedLockHandle.html" title="This is a generic class for managing the lifetime of objects allocated on freestore, with a thread safe reference count.. ">SharedLockHandle</a> <a class="el" href="structCgu_1_1SharedHandleError.html" title="This is an exception struct thrown as an alternative to deleting a managed object when internal memor...">SharedHandleError</a> </dd>
<dd>
<a class="el" href="classCgu_1_1StandardArrayDelete.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls the C++ delete[] expression. ">StandardArrayDelete</a> <a class="el" href="classCgu_1_1CFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls std::free. ">CFree</a> <a class="el" href="classCgu_1_1GFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_free(). ">GFree</a> <a class="el" href="classCgu_1_1GerrorFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_error_free(). ">GerrorFree</a> <a class="el" href="classCgu_1_1GSliceFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_slice_free1(). ">GSliceFree</a> <a class="el" href="classCgu_1_1GSliceFreeSize.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_slice_free1(). ">GSliceFreeSize</a> <a class="el" href="classCgu_1_1GSliceDestroy.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_slice_free1(), but before doing so also explicitly calls the destructor of a C++ object constructed in the memory. ">GSliceDestroy</a></dd></dl>
<p>This class deletes its object as soon as it goes out of scope. It can be viewed as a <a class="el" href="classCgu_1_1SharedHandle.html" title="This is a generic class for managing the lifetime of objects allocated on freestore. ">SharedHandle</a> which cannot be copy assigned to or used as the argument to a copy constructor and therefore which cannot have a reference count of more than 1.</p>
<p><a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> objects can be instantiated for pointers to constant objects (such as ScopedHandle&lt;const char*&gt;), provided the deleter functor will take such pointers.</p>
<p>This library provides <a class="el" href="classCgu_1_1StandardArrayDelete.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls the C++ delete[] expression. ">StandardArrayDelete</a>, <a class="el" href="classCgu_1_1CFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls std::free. ">CFree</a>, <a class="el" href="classCgu_1_1GFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_free(). ">GFree</a>, <a class="el" href="classCgu_1_1GerrorFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_error_free(). ">GerrorFree</a>, <a class="el" href="classCgu_1_1GSliceFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_slice_free1(). ">GSliceFree</a>, <a class="el" href="classCgu_1_1GSliceFreeSize.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_slice_free1(). ">GSliceFreeSize</a> and <a class="el" href="classCgu_1_1GSliceDestroy.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_slice_free1(), but before doing so also explicitly calls the destructor of a C++ object constructed in the memory. ">GSliceDestroy</a> deleter functors, which can be used as the second template parameter of the <a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> class. <a class="el" href="classCgu_1_1StandardArrayDelete.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls the C++ delete[] expression. ">StandardArrayDelete</a> is the default, and some typedef'ed instances of <a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> for gchar (with the <a class="el" href="classCgu_1_1GFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_free(). ">GFree</a> deleter) and for GError (with the <a class="el" href="classCgu_1_1GerrorFree.html" title="A deleter functor for use as the second (Dealloc) template parameter of the SharedHandle, SharedLockHandle or ScopedHandle template classes, which calls glib&#39;s g_error_free(). ">GerrorFree</a> deleter) are provided: <a class="el" href="group__handles.html#GcharScopedHandleAnchor">GcharScopedHandle</a> and <a class="el" href="group__handles.html#GerrorScopedHandleAnchor">GerrorScopedHandle</a>)</p>
<p><b>Comparison</b> <b>with</b> <b>std::unique_ptr</b> </p>
<p>This class is mainly retained to retain compatibility with series 1.2 of the library, since most of the things that can be done with it can also be done using std::unique_ptr. However, this class is a little easier to use when managing objects with associated C functions (such as in glib), because it provides a type conversion operator.</p>
<p>From version 2.2.2, this class has a move constructor and move assignment operator. Prior to that, it could not be moved from or to. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad2eb977f01fa77650f4bee7cd98e27bb"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::<a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a>&lt; T, Dealloc &gt; &amp;&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This class cannot be copied. The copy constructor is deleted. </p>

</div>
</div>
<a class="anchor" id="a338dbeeb32e520f1dcc10924838bdb22"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::<a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a>&lt; T, Dealloc &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>sc_hand</em>)</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>The move constructor does not throw. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sc_hand</td><td>The handle to be moved.</td></tr>
  </table>
  </dd>
</dl>
<p>Since 2.0.19/2.2.2 </p>

</div>
</div>
<a class="anchor" id="a5d2d5bcb098896007ea828ef36710013"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::<a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a> </td>
          <td>(</td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>ptr</em> = <code>0</code>)</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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This constructor does not throw. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>The object which the <a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> is to manage (if any).</td></tr>
  </table>
  </dd>
</dl>
<p><a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> objects can be instantiated for pointers to constant objects (such as SharedHandle&lt;const char*&gt;), provided the deleter functor will take such pointers. </p>

</div>
</div>
<a class="anchor" id="aa0d2b3335bcfa44d1ca1f23197133f90"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::~<a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</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>The destructor does not throw unless the destructor of a handled object throws - that should never happen. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a6296e365ba6fa5741b6e17e2d8469c71"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::get </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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This method does not throw. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the handled object (or NULL if none is handled). </dd></dl>

</div>
</div>
<a class="anchor" id="ac24cc52f591b4d25ddefc787d7b32174"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::operator T </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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This method does not throw. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the handled object (or NULL if none is handled). </dd></dl>

</div>
</div>
<a class="anchor" id="a99c84ced2d26f53ffe80ccca89a1b2e4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a>&amp; <a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a>&lt; T, Dealloc &gt; &amp;&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This class cannot be copied. The copy assignment operator is deleted. </p>

</div>
</div>
<a class="anchor" id="a296ee1fb0cc8d6b6dc6530aaf02115e3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a>&amp; <a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCgu_1_1ScopedHandle.html">ScopedHandle</a>&lt; T, Dealloc &gt; &amp;&amp;&#160;</td>
          <td class="paramname"><em>sc_hand</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>The move assignment operator. It will delete the object managed prior to the move, if any. It does not throw unless the destructor of that object throws. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sc_hand</td><td>The handle to be moved. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> object after move assignment.</dd></dl>
<p>Since 2.0.19/2.2.2 </p>

</div>
</div>
<a class="anchor" id="a5631c62579b6199a3c4812d488d8ad3f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::release </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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Causes the <a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> to cease to manage the handled object, but does not delete that object. This method does not throw. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the previously handled object (or NULL if none was handled). </dd></dl>

</div>
</div>
<a class="anchor" id="a1d3bbbe7039f33ffada38b1057947c3a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T, class Dealloc&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classCgu_1_1ScopedHandle.html">Cgu::ScopedHandle</a>&lt; T, Dealloc &gt;::reset </td>
          <td>(</td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>ptr</em> = <code>0</code>)</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>Causes the <a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> to delete its managed object (if any), and if the argument passed is not NULL, the <a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> object will manage the new object passed (which must not be managed by any other <a class="el" href="classCgu_1_1ScopedHandle.html" title="This is a generic scoped class for managing the lifetime of objects allocated on freestore. ">ScopedHandle</a> object). This method does not throw (assuming the destructor of a managed object does not throw). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>NULL (the default), or a new unmanaged object to manage. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="shared__handle_8h_source.html">shared_handle.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Sep 16 2013 20:45:31 for c++-gtk-utils by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>