<!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< T_CppObject > 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
 <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> |
<a href="#pub-static-methods">Static Public Member Functions</a> |
<a href="#related">Related Functions</a> |
<a href="classGlib_1_1WeakRef-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Glib::WeakRef< T_CppObject > Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>WeakRef<> is a weak reference smartpointer.
<a href="classGlib_1_1WeakRef.html#details">More...</a></p>
<p><code>#include <glibmm/weakref.h></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"> </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"> </td><td class="mdescRight">Default constructor. <a href="#a742af0eea71db225a3eee5094df1b4f2">More...</a><br /></td></tr>
<tr class="separator:a742af0eea71db225a3eee5094df1b4f2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8115592f075bfec8c7685eba953217b0"><td class="memItemLeft" align="right" valign="top"> </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>& src) noexcept</td></tr>
<tr class="memdesc:a8115592f075bfec8c7685eba953217b0"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#a8115592f075bfec8c7685eba953217b0">More...</a><br /></td></tr>
<tr class="separator:a8115592f075bfec8c7685eba953217b0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a09ca7eab4c191538cdf6eccd2732b2a4"><td class="memItemLeft" align="right" valign="top"> </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>&& src) noexcept</td></tr>
<tr class="memdesc:a09ca7eab4c191538cdf6eccd2732b2a4"><td class="mdescLeft"> </td><td class="mdescRight">Move constructor. <a href="#a09ca7eab4c191538cdf6eccd2732b2a4">More...</a><br /></td></tr>
<tr class="separator:a09ca7eab4c191538cdf6eccd2732b2a4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab31785505c6aa1e8a961650d817587f6"><td class="memTemplParams" colspan="2">template<typename T_CastFrom > </td></tr>
<tr class="memitem:ab31785505c6aa1e8a961650d817587f6"><td class="memTemplItemLeft" align="right" valign="top"> </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>< T_CastFrom >& src) noexcept</td></tr>
<tr class="memdesc:ab31785505c6aa1e8a961650d817587f6"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:adcc3b33861af65d557cb040ba5f6a5ae"><td class="memTemplParams" colspan="2">template<typename T_CastFrom > </td></tr>
<tr class="memitem:adcc3b33861af65d557cb040ba5f6a5ae"><td class="memTemplItemLeft" align="right" valign="top"> </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>< T_CastFrom >&& src) noexcept</td></tr>
<tr class="memdesc:adcc3b33861af65d557cb040ba5f6a5ae"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a7efd424c72b4273c6c397a2efcf084fd"><td class="memTemplParams" colspan="2">template<typename T_CastFrom > </td></tr>
<tr class="memitem:a7efd424c72b4273c6c397a2efcf084fd"><td class="memTemplItemLeft" align="right" valign="top"> </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>< T_CastFrom >& src) noexcept</td></tr>
<tr class="memdesc:a7efd424c72b4273c6c397a2efcf084fd"><td class="mdescLeft"> </td><td class="mdescRight">Constructor from a <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr<> 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"> </td></tr>
<tr class="memitem:a60660d0a2e5de7258a857776d415f4b4"><td class="memItemLeft" align="right" valign="top"> </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"> </td><td class="mdescRight">Destructor. <a href="#a60660d0a2e5de7258a857776d415f4b4">More...</a><br /></td></tr>
<tr class="separator:a60660d0a2e5de7258a857776d415f4b4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7563560d6413f05e768ce7e15c771bde"><td class="memItemLeft" align="right" valign="top">void </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>& other) noexcept</td></tr>
<tr class="memdesc:a7563560d6413f05e768ce7e15c771bde"><td class="mdescLeft"> </td><td class="mdescRight">Swap the contents of two WeakRef<>. <a href="#a7563560d6413f05e768ce7e15c771bde">More...</a><br /></td></tr>
<tr class="separator:a7563560d6413f05e768ce7e15c771bde"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8eebda64905314f007adcf71a7e4f8fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>& </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>& src) noexcept</td></tr>
<tr class="memdesc:a8eebda64905314f007adcf71a7e4f8fc"><td class="mdescLeft"> </td><td class="mdescRight">Copy assignment operator. <a href="#a8eebda64905314f007adcf71a7e4f8fc">More...</a><br /></td></tr>
<tr class="separator:a8eebda64905314f007adcf71a7e4f8fc"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abfe47f2520e9c7ac73f7c735ca740352"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>& </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>&& src) noexcept</td></tr>
<tr class="memdesc:abfe47f2520e9c7ac73f7c735ca740352"><td class="mdescLeft"> </td><td class="mdescRight">Move assignment operator. <a href="#abfe47f2520e9c7ac73f7c735ca740352">More...</a><br /></td></tr>
<tr class="separator:abfe47f2520e9c7ac73f7c735ca740352"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3f42d24f682e3df01fe5c69bde09fdd4"><td class="memTemplParams" colspan="2">template<typename T_CastFrom > </td></tr>
<tr class="memitem:a3f42d24f682e3df01fe5c69bde09fdd4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>& </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>< T_CastFrom >& src) noexcept</td></tr>
<tr class="memdesc:a3f42d24f682e3df01fe5c69bde09fdd4"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a7fe160cb3e8eb76f566c9f2ce52c0db9"><td class="memTemplParams" colspan="2">template<typename T_CastFrom > </td></tr>
<tr class="memitem:a7fe160cb3e8eb76f566c9f2ce52c0db9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>& </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>< T_CastFrom >&& src) noexcept</td></tr>
<tr class="memdesc:a7fe160cb3e8eb76f566c9f2ce52c0db9"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:abcb6017666ea3c77b86e720df2e7a12f"><td class="memTemplParams" colspan="2">template<typename T_CastFrom > </td></tr>
<tr class="memitem:abcb6017666ea3c77b86e720df2e7a12f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>& </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>< T_CastFrom >& src) noexcept</td></tr>
<tr class="memdesc:abcb6017666ea3c77b86e720df2e7a12f"><td class="mdescLeft"> </td><td class="mdescRight">Assignment from a <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr<> 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"> </td></tr>
<tr class="memitem:a4256072bb223bb690036092ce9117b08"><td class="memItemLeft" align="right" valign="top"> </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"> </td><td class="mdescRight">Test whether the WeakRef<> points to any underlying instance. <a href="#a4256072bb223bb690036092ce9117b08">More...</a><br /></td></tr>
<tr class="separator:a4256072bb223bb690036092ce9117b08"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a88eb239c3242477334e7e80dcd4d305c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a>< T_CppObject > </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"> </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"> </td></tr>
<tr class="memitem:abae8fbb148f48e74f7923f09ffb0b501"><td class="memItemLeft" align="right" valign="top">void </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"> </td><td class="mdescRight">Make this <a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef<> 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"> </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<typename T_CastFrom > </td></tr>
<tr class="memitem:a017ff11f7786e498b10af8e5ffd63427"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> </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>< T_CastFrom >& src) noexcept</td></tr>
<tr class="memdesc:a017ff11f7786e498b10af8e5ffd63427"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:ab392bcba7f060fc9f3b012fc263e8f43"><td class="memTemplParams" colspan="2">template<typename T_CastFrom > </td></tr>
<tr class="memitem:ab392bcba7f060fc9f3b012fc263e8f43"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> </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>< T_CastFrom >& src) noexcept</td></tr>
<tr class="memdesc:ab392bcba7f060fc9f3b012fc263e8f43"><td class="mdescLeft"> </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"> </td></tr>
<tr class="memitem:a5f04f8d965ab0415048eb30fefe6403c"><td class="memTemplParams" colspan="2">template<typename T_CastFrom > </td></tr>
<tr class="memitem:a5f04f8d965ab0415048eb30fefe6403c"><td class="memTemplItemLeft" align="right" valign="top">static <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a> </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>< T_CastFrom >& src) noexcept</td></tr>
<tr class="memdesc:a5f04f8d965ab0415048eb30fefe6403c"><td class="mdescLeft"> </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"> </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<class T_CppObject > </td></tr>
<tr class="memitem:a1f7be128b20c6f474dc95249cd19de01"><td class="memTemplItemLeft" align="right" valign="top">void </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>< T_CppObject >& lhs, <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>< T_CppObject >& rhs) noexcept</td></tr>
<tr class="memdesc:a1f7be128b20c6f474dc95249cd19de01"><td class="mdescLeft"> </td><td class="mdescRight">Swap the contents of two WeakRef<>. <a href="#a1f7be128b20c6f474dc95249cd19de01">More...</a><br /></td></tr>
<tr class="separator:a1f7be128b20c6f474dc95249cd19de01"><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<typename T_CppObject><br />
class Glib::WeakRef< T_CppObject ></h3>
<p>WeakRef<> is a weak reference smartpointer. </p>
<p><a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef<> 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<> is a reference-counting shared smartpointer. ">RefPtr</a>, a <a class="el" href="classGlib_1_1WeakRef.html" title="WeakRef<> 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 & Destructor Documentation</h2>
<a id="a742af0eea71db225a3eee5094df1b4f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742af0eea71db225a3eee5094df1b4f2">◆ </a></span>WeakRef() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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>< T_CppObject >::<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">◆ </a></span>WeakRef() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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>< T_CppObject >::<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>< T_CppObject >& </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">◆ </a></span>WeakRef() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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>< T_CppObject >::<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>< T_CppObject >&& </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">◆ </a></span>WeakRef() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </div>
<div class="memtemplate">
template <typename T_CastFrom > </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>< T_CppObject >::<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>< T_CastFrom >& </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">◆ </a></span>WeakRef() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </div>
<div class="memtemplate">
template <typename T_CastFrom > </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>< T_CppObject >::<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>< T_CastFrom >&& </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">◆ </a></span>WeakRef() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </div>
<div class="memtemplate">
template <typename T_CastFrom > </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>< T_CppObject >::<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>< T_CastFrom >& </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<> 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<> 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<> 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">◆ </a></span>~WeakRef()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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>< T_CppObject >::~<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">◆ </a></span>cast_const()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </div>
<div class="memtemplate">
template <typename T_CastFrom > </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>< T_CppObject >::cast_const </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>< T_CastFrom >& </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<> 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<NonConstType>::cast_const</a>(ptr_const);</div></div><!-- fragment -->
</div>
</div>
<a id="a017ff11f7786e498b10af8e5ffd63427"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a017ff11f7786e498b10af8e5ffd63427">◆ </a></span>cast_dynamic()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </div>
<div class="memtemplate">
template <typename T_CastFrom > </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>< T_CppObject >::cast_dynamic </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>< T_CastFrom >& </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<> 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<Derived>::cast_dynamic</a>(ptr_base);</div></div><!-- fragment -->
</div>
</div>
<a id="ab392bcba7f060fc9f3b012fc263e8f43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab392bcba7f060fc9f3b012fc263e8f43">◆ </a></span>cast_static()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </div>
<div class="memtemplate">
template <typename T_CastFrom > </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>< T_CppObject >::cast_static </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>< T_CastFrom >& </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<> 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<Derived>::cast_static</a>(ptr_base);</div></div><!-- fragment -->
</div>
</div>
<a id="a88eb239c3242477334e7e80dcd4d305c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88eb239c3242477334e7e80dcd4d305c">◆ </a></span>get()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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><T_CppObject> <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>< T_CppObject >::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<> is a weak reference smartpointer. ">WeakRef</a> is empty, the returned <a class="el" href="classGlib_1_1RefPtr.html" title="RefPtr<> 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">◆ </a></span>operator bool()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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>< T_CppObject >::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<> 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">◆ </a></span>operator=() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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>& <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>< T_CppObject >::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>< T_CppObject >& </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">◆ </a></span>operator=() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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>& <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>< T_CppObject >::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>< T_CppObject >&& </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">◆ </a></span>operator=() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </div>
<div class="memtemplate">
template <typename T_CastFrom > </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>& <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>< T_CppObject >::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>< T_CastFrom >& </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">◆ </a></span>operator=() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </div>
<div class="memtemplate">
template <typename T_CastFrom > </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>& <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>< T_CppObject >::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>< T_CastFrom >&& </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">◆ </a></span>operator=() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </div>
<div class="memtemplate">
template <typename T_CastFrom > </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>& <a class="el" href="classGlib_1_1WeakRef.html">Glib::WeakRef</a>< T_CppObject >::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classGlib_1_1RefPtr.html">RefPtr</a>< T_CastFrom >& </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<> 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">◆ </a></span>reset()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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>< T_CppObject >::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<> is a weak reference smartpointer. ">WeakRef</a> empty. </p>
</div>
</div>
<a id="a7563560d6413f05e768ce7e15c771bde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7563560d6413f05e768ce7e15c771bde">◆ </a></span>swap()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <typename T_CppObject > </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>< T_CppObject >::swap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classGlib_1_1WeakRef.html">WeakRef</a>< T_CppObject >& </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<>. </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">◆ </a></span>swap()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template <class T_CppObject > </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>< T_CppObject >& </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>< T_CppObject >& </td>
<td class="paramname"><em>rhs</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>Swap the contents of two WeakRef<>. </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  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>