Blob Blame History Raw
<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>glibmm: Glib::WeakRef&lt; T_CppObject &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" />
<link href="doxygen-extra.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">glibmm
   &#160;<span id="projectnumber">2.56.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceGlib.html">Glib</a></li><li class="navelem"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#related">Related Functions</a> &#124;
<a href="classGlib_1_1WeakRef-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Glib::WeakRef&lt; T_CppObject &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>WeakRef&lt;&gt; is a weak reference smartpointer.  
 <a href="classGlib_1_1WeakRef.html#details">More...</a></p>

<p><code>#include &lt;glibmm/weakref.h&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:a742af0eea71db225a3eee5094df1b4f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a742af0eea71db225a3eee5094df1b4f2">WeakRef</a> () noexcept</td></tr>
<tr class="memdesc:a742af0eea71db225a3eee5094df1b4f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a742af0eea71db225a3eee5094df1b4f2">More...</a><br /></td></tr>
<tr class="separator:a742af0eea71db225a3eee5094df1b4f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8115592f075bfec8c7685eba953217b0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a8115592f075bfec8c7685eba953217b0">WeakRef</a> (const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp; src) noexcept</td></tr>
<tr class="memdesc:a8115592f075bfec8c7685eba953217b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="#a8115592f075bfec8c7685eba953217b0">More...</a><br /></td></tr>
<tr class="separator:a8115592f075bfec8c7685eba953217b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09ca7eab4c191538cdf6eccd2732b2a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a09ca7eab4c191538cdf6eccd2732b2a4">WeakRef</a> (<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp;&amp; src) noexcept</td></tr>
<tr class="memdesc:a09ca7eab4c191538cdf6eccd2732b2a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor.  <a href="#a09ca7eab4c191538cdf6eccd2732b2a4">More...</a><br /></td></tr>
<tr class="separator:a09ca7eab4c191538cdf6eccd2732b2a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab31785505c6aa1e8a961650d817587f6"><td class="memTemplParams" colspan="2">template&lt;typename T_CastFrom &gt; </td></tr>
<tr class="memitem:ab31785505c6aa1e8a961650d817587f6"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#ab31785505c6aa1e8a961650d817587f6">WeakRef</a> (const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp; src) noexcept</td></tr>
<tr class="memdesc:ab31785505c6aa1e8a961650d817587f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor from different, but castable type.  <a href="#ab31785505c6aa1e8a961650d817587f6">More...</a><br /></td></tr>
<tr class="separator:ab31785505c6aa1e8a961650d817587f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc3b33861af65d557cb040ba5f6a5ae"><td class="memTemplParams" colspan="2">template&lt;typename T_CastFrom &gt; </td></tr>
<tr class="memitem:adcc3b33861af65d557cb040ba5f6a5ae"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#adcc3b33861af65d557cb040ba5f6a5ae">WeakRef</a> (<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp;&amp; src) noexcept</td></tr>
<tr class="memdesc:adcc3b33861af65d557cb040ba5f6a5ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor from different, but castable type.  <a href="#adcc3b33861af65d557cb040ba5f6a5ae">More...</a><br /></td></tr>
<tr class="separator:adcc3b33861af65d557cb040ba5f6a5ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7efd424c72b4273c6c397a2efcf084fd"><td class="memTemplParams" colspan="2">template&lt;typename T_CastFrom &gt; </td></tr>
<tr class="memitem:a7efd424c72b4273c6c397a2efcf084fd"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a7efd424c72b4273c6c397a2efcf084fd">WeakRef</a> (const <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a>&lt; T_CastFrom &gt;&amp; src) noexcept</td></tr>
<tr class="memdesc:a7efd424c72b4273c6c397a2efcf084fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from a <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer. ">RefPtr</a> of the same or a castable type.  <a href="#a7efd424c72b4273c6c397a2efcf084fd">More...</a><br /></td></tr>
<tr class="separator:a7efd424c72b4273c6c397a2efcf084fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60660d0a2e5de7258a857776d415f4b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a60660d0a2e5de7258a857776d415f4b4">~WeakRef</a> () noexcept</td></tr>
<tr class="memdesc:a60660d0a2e5de7258a857776d415f4b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a60660d0a2e5de7258a857776d415f4b4">More...</a><br /></td></tr>
<tr class="separator:a60660d0a2e5de7258a857776d415f4b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7563560d6413f05e768ce7e15c771bde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a7563560d6413f05e768ce7e15c771bde">swap</a> (<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp; other) noexcept</td></tr>
<tr class="memdesc:a7563560d6413f05e768ce7e15c771bde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the contents of two WeakRef&lt;&gt;.  <a href="#a7563560d6413f05e768ce7e15c771bde">More...</a><br /></td></tr>
<tr class="separator:a7563560d6413f05e768ce7e15c771bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eebda64905314f007adcf71a7e4f8fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a8eebda64905314f007adcf71a7e4f8fc">operator=</a> (const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp; src) noexcept</td></tr>
<tr class="memdesc:a8eebda64905314f007adcf71a7e4f8fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy assignment operator.  <a href="#a8eebda64905314f007adcf71a7e4f8fc">More...</a><br /></td></tr>
<tr class="separator:a8eebda64905314f007adcf71a7e4f8fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfe47f2520e9c7ac73f7c735ca740352"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#abfe47f2520e9c7ac73f7c735ca740352">operator=</a> (<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp;&amp; src) noexcept</td></tr>
<tr class="memdesc:abfe47f2520e9c7ac73f7c735ca740352"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment operator.  <a href="#abfe47f2520e9c7ac73f7c735ca740352">More...</a><br /></td></tr>
<tr class="separator:abfe47f2520e9c7ac73f7c735ca740352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f42d24f682e3df01fe5c69bde09fdd4"><td class="memTemplParams" colspan="2">template&lt;typename T_CastFrom &gt; </td></tr>
<tr class="memitem:a3f42d24f682e3df01fe5c69bde09fdd4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a3f42d24f682e3df01fe5c69bde09fdd4">operator=</a> (const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp; src) noexcept</td></tr>
<tr class="memdesc:a3f42d24f682e3df01fe5c69bde09fdd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy assignment from different, but castable type.  <a href="#a3f42d24f682e3df01fe5c69bde09fdd4">More...</a><br /></td></tr>
<tr class="separator:a3f42d24f682e3df01fe5c69bde09fdd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fe160cb3e8eb76f566c9f2ce52c0db9"><td class="memTemplParams" colspan="2">template&lt;typename T_CastFrom &gt; </td></tr>
<tr class="memitem:a7fe160cb3e8eb76f566c9f2ce52c0db9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a7fe160cb3e8eb76f566c9f2ce52c0db9">operator=</a> (<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp;&amp; src) noexcept</td></tr>
<tr class="memdesc:a7fe160cb3e8eb76f566c9f2ce52c0db9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move assignment from different, but castable type.  <a href="#a7fe160cb3e8eb76f566c9f2ce52c0db9">More...</a><br /></td></tr>
<tr class="separator:a7fe160cb3e8eb76f566c9f2ce52c0db9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcb6017666ea3c77b86e720df2e7a12f"><td class="memTemplParams" colspan="2">template&lt;typename T_CastFrom &gt; </td></tr>
<tr class="memitem:abcb6017666ea3c77b86e720df2e7a12f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#abcb6017666ea3c77b86e720df2e7a12f">operator=</a> (const <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a>&lt; T_CastFrom &gt;&amp; src) noexcept</td></tr>
<tr class="memdesc:abcb6017666ea3c77b86e720df2e7a12f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment from a <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer. ">RefPtr</a> of the same or a castable type.  <a href="#abcb6017666ea3c77b86e720df2e7a12f">More...</a><br /></td></tr>
<tr class="separator:abcb6017666ea3c77b86e720df2e7a12f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4256072bb223bb690036092ce9117b08"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a4256072bb223bb690036092ce9117b08">operator bool</a> () const noexcept</td></tr>
<tr class="memdesc:a4256072bb223bb690036092ce9117b08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test whether the WeakRef&lt;&gt; points to any underlying instance.  <a href="#a4256072bb223bb690036092ce9117b08">More...</a><br /></td></tr>
<tr class="separator:a4256072bb223bb690036092ce9117b08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88eb239c3242477334e7e80dcd4d305c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a>&lt; T_CppObject &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a88eb239c3242477334e7e80dcd4d305c">get</a> () const noexcept</td></tr>
<tr class="memdesc:a88eb239c3242477334e7e80dcd4d305c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a strong reference to the underlying object.  <a href="#a88eb239c3242477334e7e80dcd4d305c">More...</a><br /></td></tr>
<tr class="separator:a88eb239c3242477334e7e80dcd4d305c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abae8fbb148f48e74f7923f09ffb0b501"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#abae8fbb148f48e74f7923f09ffb0b501">reset</a> () noexcept</td></tr>
<tr class="memdesc:abae8fbb148f48e74f7923f09ffb0b501"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make this <a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef&lt;&gt; is a weak reference smartpointer. ">WeakRef</a> empty.  <a href="#abae8fbb148f48e74f7923f09ffb0b501">More...</a><br /></td></tr>
<tr class="separator:abae8fbb148f48e74f7923f09ffb0b501"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a017ff11f7786e498b10af8e5ffd63427"><td class="memTemplParams" colspan="2">template&lt;typename T_CastFrom &gt; </td></tr>
<tr class="memitem:a017ff11f7786e498b10af8e5ffd63427"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a017ff11f7786e498b10af8e5ffd63427">cast_dynamic</a> (const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp; src) noexcept</td></tr>
<tr class="memdesc:a017ff11f7786e498b10af8e5ffd63427"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dynamic cast to derived class.  <a href="#a017ff11f7786e498b10af8e5ffd63427">More...</a><br /></td></tr>
<tr class="separator:a017ff11f7786e498b10af8e5ffd63427"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab392bcba7f060fc9f3b012fc263e8f43"><td class="memTemplParams" colspan="2">template&lt;typename T_CastFrom &gt; </td></tr>
<tr class="memitem:ab392bcba7f060fc9f3b012fc263e8f43"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#ab392bcba7f060fc9f3b012fc263e8f43">cast_static</a> (const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp; src) noexcept</td></tr>
<tr class="memdesc:ab392bcba7f060fc9f3b012fc263e8f43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static cast to derived class.  <a href="#ab392bcba7f060fc9f3b012fc263e8f43">More...</a><br /></td></tr>
<tr class="separator:ab392bcba7f060fc9f3b012fc263e8f43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f04f8d965ab0415048eb30fefe6403c"><td class="memTemplParams" colspan="2">template&lt;typename T_CastFrom &gt; </td></tr>
<tr class="memitem:a5f04f8d965ab0415048eb30fefe6403c"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a5f04f8d965ab0415048eb30fefe6403c">cast_const</a> (const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp; src) noexcept</td></tr>
<tr class="memdesc:a5f04f8d965ab0415048eb30fefe6403c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cast to non-const.  <a href="#a5f04f8d965ab0415048eb30fefe6403c">More...</a><br /></td></tr>
<tr class="separator:a5f04f8d965ab0415048eb30fefe6403c"><td class="memSeparator" colspan="2">&#160;</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:a1f7be128b20c6f474dc95249cd19de01"><td class="memTemplParams" colspan="2">template&lt;class T_CppObject &gt; </td></tr>
<tr class="memitem:a1f7be128b20c6f474dc95249cd19de01"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classGlib_1_1WeakRef.html#a1f7be128b20c6f474dc95249cd19de01">swap</a> (<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CppObject &gt;&amp; lhs, <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CppObject &gt;&amp; rhs) noexcept</td></tr>
<tr class="memdesc:a1f7be128b20c6f474dc95249cd19de01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the contents of two WeakRef&lt;&gt;.  <a href="#a1f7be128b20c6f474dc95249cd19de01">More...</a><br /></td></tr>
<tr class="separator:a1f7be128b20c6f474dc95249cd19de01"><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;typename T_CppObject&gt;<br />
class Glib::WeakRef&lt; T_CppObject &gt;</h3>

<p>WeakRef&lt;&gt; is a weak reference smartpointer. </p>
<p><a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef&lt;&gt; is a weak reference smartpointer. ">WeakRef</a> can store a pointer to any class that is derived from <a class="el" href="classGlib_1_1ObjectBase.html" title="Glib::ObjectBase is a common base class for Objects and Interfaces. ">Glib::ObjectBase</a>, and whose reference() method is noexcept. In glibmm and gtkmm, that is anything derived from <a class="el" href="classGlib_1_1ObjectBase.html" title="Glib::ObjectBase is a common base class for Objects and Interfaces. ">Glib::ObjectBase</a>.</p>
<p>Unlike a <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer. ">RefPtr</a>, a <a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef&lt;&gt; is a weak reference smartpointer. ">WeakRef</a> does not contribute to the reference counting of the underlying object.</p>
<dl class="since_2_46"><dt><b><a class="el" href="since_2_46.html#_since_2_46000005">Since glibmm 2.46:</a></b></dt><dd></dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a742af0eea71db225a3eee5094df1b4f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742af0eea71db225a3eee5094df1b4f2">&#9670;&#160;</a></span>WeakRef() <span class="overload">[1/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor. </p>
<p>Create an empty weak reference. </p>

</div>
</div>
<a id="a8115592f075bfec8c7685eba953217b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8115592f075bfec8c7685eba953217b0">&#9670;&#160;</a></span>WeakRef() <span class="overload">[2/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CppObject &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Copy constructor. </p>

</div>
</div>
<a id="a09ca7eab4c191538cdf6eccd2732b2a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09ca7eab4c191538cdf6eccd2732b2a4">&#9670;&#160;</a></span>WeakRef() <span class="overload">[3/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CppObject &gt;&amp;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Move constructor. </p>

</div>
</div>
<a id="ab31785505c6aa1e8a961650d817587f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab31785505c6aa1e8a961650d817587f6">&#9670;&#160;</a></span>WeakRef() <span class="overload">[4/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<div class="memtemplate">
template &lt;typename T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Copy constructor from different, but castable type. </p>

</div>
</div>
<a id="adcc3b33861af65d557cb040ba5f6a5ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcc3b33861af65d557cb040ba5f6a5ae">&#9670;&#160;</a></span>WeakRef() <span class="overload">[5/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<div class="memtemplate">
template &lt;typename T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Move constructor from different, but castable type. </p>

</div>
</div>
<a id="a7efd424c72b4273c6c397a2efcf084fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7efd424c72b4273c6c397a2efcf084fd">&#9670;&#160;</a></span>WeakRef() <span class="overload">[6/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<div class="memtemplate">
template &lt;typename T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Constructor from a <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer. ">RefPtr</a> of the same or a castable type. </p>
<p>Create a weak reference from a <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer. ">RefPtr</a> of the same or a castable type. If the <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer. ">RefPtr</a> references nothing, an empty weak reference will be constructed. </p>

</div>
</div>
<a id="a60660d0a2e5de7258a857776d415f4b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60660d0a2e5de7258a857776d415f4b4">&#9670;&#160;</a></span>~WeakRef()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::~<a class="el" href="classGlib_1_1WeakRef.html">WeakRef</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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a5f04f8d965ab0415048eb30fefe6403c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f04f8d965ab0415048eb30fefe6403c">&#9670;&#160;</a></span>cast_const()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<div class="memtemplate">
template &lt;typename T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::cast_const </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Cast to non-const. </p>
<p>The <a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef&lt;&gt; is a weak reference smartpointer. ">WeakRef</a> can't be cast with the usual notation so instead you can use </p><div class="fragment"><div class="line">ptr_nonconst = <a class="code" href="classGlib_1_1WeakRef.html#a5f04f8d965ab0415048eb30fefe6403c">Glib::WeakRef&lt;NonConstType&gt;::cast_const</a>(ptr_const);</div></div><!-- fragment --> 
</div>
</div>
<a id="a017ff11f7786e498b10af8e5ffd63427"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a017ff11f7786e498b10af8e5ffd63427">&#9670;&#160;</a></span>cast_dynamic()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<div class="memtemplate">
template &lt;typename T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::cast_dynamic </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Dynamic cast to derived class. </p>
<p>The <a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef&lt;&gt; is a weak reference smartpointer. ">WeakRef</a> can't be cast with the usual notation so instead you can use </p><div class="fragment"><div class="line">ptr_derived = <a class="code" href="classGlib_1_1WeakRef.html#a017ff11f7786e498b10af8e5ffd63427">Glib::WeakRef&lt;Derived&gt;::cast_dynamic</a>(ptr_base);</div></div><!-- fragment --> 
</div>
</div>
<a id="ab392bcba7f060fc9f3b012fc263e8f43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab392bcba7f060fc9f3b012fc263e8f43">&#9670;&#160;</a></span>cast_static()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<div class="memtemplate">
template &lt;typename T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::cast_static </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Static cast to derived class. </p>
<p>The <a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef&lt;&gt; is a weak reference smartpointer. ">WeakRef</a> can't be cast with the usual notation so instead you can use </p><div class="fragment"><div class="line">ptr_derived = <a class="code" href="classGlib_1_1WeakRef.html#ab392bcba7f060fc9f3b012fc263e8f43">Glib::WeakRef&lt;Derived&gt;::cast_static</a>(ptr_base);</div></div><!-- fragment --> 
</div>
</div>
<a id="a88eb239c3242477334e7e80dcd4d305c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88eb239c3242477334e7e80dcd4d305c">&#9670;&#160;</a></span>get()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a>&lt;T_CppObject&gt; <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &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>Create a strong reference to the underlying object. </p>
<p>This is a thread-safe way to acquire a strong reference to the underlying object. If the <a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef&lt;&gt; is a weak reference smartpointer. ">WeakRef</a> is empty, the returned <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer. ">RefPtr</a> will reference nothing. </p>

</div>
</div>
<a id="a4256072bb223bb690036092ce9117b08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4256072bb223bb690036092ce9117b08">&#9670;&#160;</a></span>operator bool()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::operator bool </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">explicit</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Test whether the WeakRef&lt;&gt; points to any underlying instance. </p>
<p>Mimics usage of ordinary pointers: </p><div class="fragment"><div class="line"><span class="keywordflow">if</span> (ptr)</div><div class="line">  do_something();</div></div><!-- fragment --><p>In a multi-threaded program a <code>true</code> return value can become obsolete at any time, even before the caller has a chance to test it, because the underlying instance may lose its last reference in another thread. Use <a class="el" href="classGlib_1_1WeakRef.html#a88eb239c3242477334e7e80dcd4d305c" title="Create a strong reference to the underlying object. ">get()</a> if this is not acceptable. </p>

</div>
</div>
<a id="a8eebda64905314f007adcf71a7e4f8fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8eebda64905314f007adcf71a7e4f8fc">&#9670;&#160;</a></span>operator=() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp; <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CppObject &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Copy assignment operator. </p>

</div>
</div>
<a id="abfe47f2520e9c7ac73f7c735ca740352"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfe47f2520e9c7ac73f7c735ca740352">&#9670;&#160;</a></span>operator=() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp; <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CppObject &gt;&amp;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Move assignment operator. </p>

</div>
</div>
<a id="a3f42d24f682e3df01fe5c69bde09fdd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f42d24f682e3df01fe5c69bde09fdd4">&#9670;&#160;</a></span>operator=() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<div class="memtemplate">
template &lt;typename T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp; <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Copy assignment from different, but castable type. </p>

</div>
</div>
<a id="a7fe160cb3e8eb76f566c9f2ce52c0db9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fe160cb3e8eb76f566c9f2ce52c0db9">&#9670;&#160;</a></span>operator=() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<div class="memtemplate">
template &lt;typename T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp; <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CastFrom &gt;&amp;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Move assignment from different, but castable type. </p>

</div>
</div>
<a id="abcb6017666ea3c77b86e720df2e7a12f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcb6017666ea3c77b86e720df2e7a12f">&#9670;&#160;</a></span>operator=() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<div class="memtemplate">
template &lt;typename T_CastFrom &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&amp; <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a>&lt; T_CastFrom &gt;&amp;&#160;</td>
          <td class="paramname"><em>src</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>Assignment from a <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr&lt;&gt; is a reference-counting shared smartpointer. ">RefPtr</a> of the same or a castable type. </p>

</div>
</div>
<a id="abae8fbb148f48e74f7923f09ffb0b501"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abae8fbb148f48e74f7923f09ffb0b501">&#9670;&#160;</a></span>reset()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::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 class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Make this <a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef&lt;&gt; is a weak reference smartpointer. ">WeakRef</a> empty. </p>

</div>
</div>
<a id="a7563560d6413f05e768ce7e15c771bde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7563560d6413f05e768ce7e15c771bde">&#9670;&#160;</a></span>swap()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;typename T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>&lt; T_CppObject &gt;::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CppObject &gt;&amp;&#160;</td>
          <td class="paramname"><em>other</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>Swap the contents of two WeakRef&lt;&gt;. </p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a1f7be128b20c6f474dc95249cd19de01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f7be128b20c6f474dc95249cd19de01">&#9670;&#160;</a></span>swap()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template &lt;class T_CppObject &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CppObject &gt;&amp;&#160;</td>
          <td class="paramname"><em>lhs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>&lt; T_CppObject &gt;&amp;&#160;</td>
          <td class="paramname"><em>rhs</em>&#160;</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>Swap the contents of two WeakRef&lt;&gt;. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Mar 31 2018 09:12:11 for glibmm by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>