1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.9.1"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>libsigc++: sigc::signal_base Struct Reference</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="doxygen.css" rel="stylesheet" type="text/css" />
13 <link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
16 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
18 <table cellspacing="0" cellpadding="0">
20 <tr style="height: 56px;">
21 <td id="projectalign" style="padding-left: 0.5em;">
22 <div id="projectname">libsigc++
23  <span id="projectnumber">2.10.8</span>
30 <!-- end header part -->
31 <!-- Generated by Doxygen 1.9.1 -->
32 <script type="text/javascript" src="menudata.js"></script>
33 <script type="text/javascript" src="menu.js"></script>
34 <script type="text/javascript">
35 /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
37 initMenu('',false,false,'search.php','Search');
39 /* @license-end */</script>
40 <div id="main-nav"></div>
41 <div id="nav-path" class="navpath">
43 <li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="structsigc_1_1signal__base.html">signal_base</a></li> </ul>
48 <a href="#pub-types">Public Types</a> |
49 <a href="#pub-methods">Public Member Functions</a> |
50 <a href="#pro-types">Protected Types</a> |
51 <a href="#pro-methods">Protected Member Functions</a> |
52 <a href="#pro-attribs">Protected Attributes</a> |
53 <a href="structsigc_1_1signal__base-members.html">List of all members</a> </div>
54 <div class="headertitle">
55 <div class="title">sigc::signal_base Struct Reference<div class="ingroups"><a class="el" href="group__signal.html">Signals</a></div></div> </div>
57 <div class="contents">
59 <p>Base class for the <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates.">sigc::signal</a># templates.
60 <a href="structsigc_1_1signal__base.html#details">More...</a></p>
62 <p><code>#include <sigc++/signal_base.h></code></p>
63 <div class="dynheader">
64 Inheritance diagram for sigc::signal_base:</div>
65 <div class="dyncontent">
66 <div class="center"><img src="structsigc_1_1signal__base__inherit__graph.png" border="0" usemap="#asigc_1_1signal__base_inherit__map" alt="Inheritance graph"/></div>
67 <map name="asigc_1_1signal__base_inherit__map" id="asigc_1_1signal__base_inherit__map">
68 <area shape="rect" title="Base class for the sigc::signal# templates." alt="" coords="169,1317,303,1343"/>
69 <area shape="rect" href="classsigc_1_1signal0.html" title=" " alt="" coords="383,123,559,164"/>
70 <area shape="rect" href="classsigc_1_1signal0.html" title=" " alt="" coords="383,224,559,265"/>
71 <area shape="rect" href="classsigc_1_1signal1.html" title=" " alt="" coords="383,371,559,412"/>
72 <area shape="rect" href="classsigc_1_1signal1.html" title=" " alt="" coords="377,616,566,657"/>
73 <area shape="rect" href="classsigc_1_1signal2.html" title=" " alt="" coords="351,759,592,800"/>
74 <area shape="rect" href="classsigc_1_1signal2.html" title=" " alt="" coords="383,868,559,909"/>
75 <area shape="rect" href="classsigc_1_1signal3.html" title=" " alt="" coords="382,1065,561,1121"/>
76 <area shape="rect" href="classsigc_1_1signal3.html" title=" " alt="" coords="382,1182,561,1238"/>
77 <area shape="rect" href="classsigc_1_1signal4.html" title=" " alt="" coords="382,1302,561,1358"/>
78 <area shape="rect" href="classsigc_1_1signal4.html" title=" " alt="" coords="377,1386,566,1442"/>
79 <area shape="rect" href="classsigc_1_1signal5.html" title=" " alt="" coords="351,1521,592,1577"/>
80 <area shape="rect" href="classsigc_1_1signal5.html" title=" " alt="" coords="382,1710,561,1766"/>
81 <area shape="rect" href="classsigc_1_1signal6.html" title=" " alt="" coords="382,1791,561,1861"/>
82 <area shape="rect" href="classsigc_1_1signal6.html" title=" " alt="" coords="365,1886,578,1942"/>
83 <area shape="rect" href="classsigc_1_1signal7.html" title=" " alt="" coords="383,1966,559,2022"/>
84 <area shape="rect" href="classsigc_1_1signal7.html" title=" " alt="" coords="377,2047,566,2117"/>
85 <area shape="rect" href="classsigc_1_1signal7.html" title=" " alt="" coords="382,2141,561,2212"/>
86 <area shape="rect" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection." alt="" coords="5,1317,121,1343"/>
87 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07_08_4_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal0 template." alt="" coords="647,5,908,47"/>
88 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal0 template." alt="" coords="691,71,864,141"/>
89 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07_08_4.html" title="This specialization allow use of the sigc::signal<R(Args...)> syntax,." alt="" coords="685,166,870,193"/>
90 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::signal0 template." alt="" coords="693,217,861,273"/>
91 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_08_4.html" title="This specialization allow use of the sigc::signal<R(Args...)> syntax,." alt="" coords="695,297,859,339"/>
92 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::signal1 template." alt="" coords="693,363,861,419"/>
93 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_08_4_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal1 template." alt="" coords="688,443,867,499"/>
94 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal1 template." alt="" coords="679,524,876,595"/>
95 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_08_4_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal2 template." alt="" coords="662,619,893,675"/>
96 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal2 template." alt="" coords="661,700,893,771"/>
97 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_08_4.html" title="This specialization allow use of the sigc::signal<R(Args...)> syntax,." alt="" coords="695,795,859,836"/>
98 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01nil_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::signal2 template." alt="" coords="693,861,861,917"/>
99 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_00_01T__arg3_08_4_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal3 template." alt="" coords="652,941,903,997"/>
100 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01852c349c390cefa04662a850d84c0a94.html" title="Convenience wrapper for the numbered sigc::signal3 template." alt="" coords="667,1021,888,1092"/>
101 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_00_01T__arg3_08_4.html" title="This specialization allow use of the sigc::signal<R(Args...)> syntax,." alt="" coords="682,1116,873,1157"/>
102 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01nil_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::signal3 template." alt="" coords="688,1182,867,1238"/>
103 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_08_4.html" title="This specialization allow use of the sigc::signal<R(Args...)> syntax,." alt="" coords="688,1262,867,1318"/>
104 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::signal4 template." alt="" coords="688,1342,867,1398"/>
105 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_08_4_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal4 template." alt="" coords="683,1423,872,1493"/>
106 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01nil_0d729ce48b1328d982e0ee754652fed04.html" title="Convenience wrapper for the numbered sigc::signal4 template." alt="" coords="657,1517,897,1588"/>
107 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_08_4_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal5 template." alt="" coords="662,1612,893,1683"/>
108 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arcf6cb51783c363bfae7c4a91d9685109.html" title="Convenience wrapper for the numbered sigc::signal5 template." alt="" coords="650,1707,905,1777"/>
109 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_08_4.html" title="This specialization allow use of the sigc::signal<R(Args...)> syntax,." alt="" coords="688,1802,867,1858"/>
110 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01nil_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::signal5 template." alt="" coords="685,1882,870,1938"/>
111 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_dace8c5b03b250e13cd615dbc3de0ac4.html" title="Convenience wrapper for the numbered sigc::signal6 template." alt="" coords="652,1963,903,2033"/>
112 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__are33def4d0c1a12dcbfd220489302db67.html" title="Convenience wrapper for the numbered sigc::signal6 template." alt="" coords="640,2057,915,2128"/>
113 <area shape="rect" href="classsigc_1_1signal_3_01T__return_07T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_08_4.html" title="This specialization allow use of the sigc::signal<R(Args...)> syntax,." alt="" coords="682,2153,873,2209"/>
114 <area shape="rect" href="classsigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01nil_01_4.html" title="Convenience wrapper for the numbered sigc::signal6 template." alt="" coords="671,2233,884,2289"/>
115 <area shape="rect" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates." alt="" coords="688,2313,867,2384"/>
116 <area shape="rect" href="classsigc_1_1signal_1_1accumulated.html" title="Convenience wrapper for the numbered sigc::signal# templates." alt="" coords="677,2409,877,2494"/>
118 <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
119 <table class="memberdecls">
120 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
121 Public Types</h2></td></tr>
122 <tr class="memitem:aa60e22abd088b6cde2dd50fb3f228aa4"><td class="memItemLeft" align="right" valign="top">typedef std::size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#aa60e22abd088b6cde2dd50fb3f228aa4">size_type</a></td></tr>
123 <tr class="separator:aa60e22abd088b6cde2dd50fb3f228aa4"><td class="memSeparator" colspan="2"> </td></tr>
124 <tr class="inherit_header pub_types_structsigc_1_1trackable"><td colspan="2" onclick="javascript:toggleInherit('pub_types_structsigc_1_1trackable')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="structsigc_1_1trackable.html">sigc::trackable</a></td></tr>
125 <tr class="memitem:a3338954d7565534bd945290b798e13ed inherit pub_types_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top">typedef internal::func_destroy_notify </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#a3338954d7565534bd945290b798e13ed">func_destroy_notify</a></td></tr>
126 <tr class="separator:a3338954d7565534bd945290b798e13ed inherit pub_types_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
127 </table><table class="memberdecls">
128 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
129 Public Member Functions</h2></td></tr>
130 <tr class="memitem:aff65198ddcb4fbccb644ff853e663e0e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#aff65198ddcb4fbccb644ff853e663e0e">signal_base</a> () noexcept</td></tr>
131 <tr class="separator:aff65198ddcb4fbccb644ff853e663e0e"><td class="memSeparator" colspan="2"> </td></tr>
132 <tr class="memitem:a761e95b8c7b460664d3338ed3eb39543"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a761e95b8c7b460664d3338ed3eb39543">signal_base</a> (const <a class="el" href="structsigc_1_1signal__base.html">signal_base</a> & src) noexcept</td></tr>
133 <tr class="separator:a761e95b8c7b460664d3338ed3eb39543"><td class="memSeparator" colspan="2"> </td></tr>
134 <tr class="memitem:a9f8570c89cd5c0b35613570a5ea80154"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a9f8570c89cd5c0b35613570a5ea80154">signal_base</a> (<a class="el" href="structsigc_1_1signal__base.html">signal_base</a> && src)</td></tr>
135 <tr class="separator:a9f8570c89cd5c0b35613570a5ea80154"><td class="memSeparator" colspan="2"> </td></tr>
136 <tr class="memitem:afa2e5807537c989b430015e5ae05a357"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#afa2e5807537c989b430015e5ae05a357">~signal_base</a> ()</td></tr>
137 <tr class="separator:afa2e5807537c989b430015e5ae05a357"><td class="memSeparator" colspan="2"> </td></tr>
138 <tr class="memitem:a52fda4806ec9dbc02baa95ce70c13fb0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a52fda4806ec9dbc02baa95ce70c13fb0">block</a> (bool should_block=true) noexcept</td></tr>
139 <tr class="memdesc:a52fda4806ec9dbc02baa95ce70c13fb0"><td class="mdescLeft"> </td><td class="mdescRight">Sets the blocking state of all slots in the list. <a href="structsigc_1_1signal__base.html#a52fda4806ec9dbc02baa95ce70c13fb0">More...</a><br /></td></tr>
140 <tr class="separator:a52fda4806ec9dbc02baa95ce70c13fb0"><td class="memSeparator" colspan="2"> </td></tr>
141 <tr class="memitem:a228da4dd1eac6905dafbc5697086e503"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a228da4dd1eac6905dafbc5697086e503">blocked</a> () const noexcept</td></tr>
142 <tr class="memdesc:a228da4dd1eac6905dafbc5697086e503"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether all slots in the list are blocked. <a href="structsigc_1_1signal__base.html#a228da4dd1eac6905dafbc5697086e503">More...</a><br /></td></tr>
143 <tr class="separator:a228da4dd1eac6905dafbc5697086e503"><td class="memSeparator" colspan="2"> </td></tr>
144 <tr class="memitem:a17597d66e680d222248c523985f0afd6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a17597d66e680d222248c523985f0afd6">clear</a> ()</td></tr>
145 <tr class="memdesc:a17597d66e680d222248c523985f0afd6"><td class="mdescLeft"> </td><td class="mdescRight">Empties the list of slots. <a href="structsigc_1_1signal__base.html#a17597d66e680d222248c523985f0afd6">More...</a><br /></td></tr>
146 <tr class="separator:a17597d66e680d222248c523985f0afd6"><td class="memSeparator" colspan="2"> </td></tr>
147 <tr class="memitem:a24e7fc4e07ac19cebafe8e3bd71bfe94"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a24e7fc4e07ac19cebafe8e3bd71bfe94">empty</a> () const noexcept</td></tr>
148 <tr class="memdesc:a24e7fc4e07ac19cebafe8e3bd71bfe94"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the list of slots is empty. <a href="structsigc_1_1signal__base.html#a24e7fc4e07ac19cebafe8e3bd71bfe94">More...</a><br /></td></tr>
149 <tr class="separator:a24e7fc4e07ac19cebafe8e3bd71bfe94"><td class="memSeparator" colspan="2"> </td></tr>
150 <tr class="memitem:a90b36a7b33e107ce0af0de895e0df286"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1signal__base.html">signal_base</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a90b36a7b33e107ce0af0de895e0df286">operator=</a> (const <a class="el" href="structsigc_1_1signal__base.html">signal_base</a> & src)</td></tr>
151 <tr class="separator:a90b36a7b33e107ce0af0de895e0df286"><td class="memSeparator" colspan="2"> </td></tr>
152 <tr class="memitem:a277a34edf44207fb4784807eac5872c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1signal__base.html">signal_base</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a277a34edf44207fb4784807eac5872c6">operator=</a> (<a class="el" href="structsigc_1_1signal__base.html">signal_base</a> && src)</td></tr>
153 <tr class="separator:a277a34edf44207fb4784807eac5872c6"><td class="memSeparator" colspan="2"> </td></tr>
154 <tr class="memitem:a0725416f747d6db3c57fa318a9f887a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1signal__base.html#aa60e22abd088b6cde2dd50fb3f228aa4">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a0725416f747d6db3c57fa318a9f887a8">size</a> () const noexcept</td></tr>
155 <tr class="memdesc:a0725416f747d6db3c57fa318a9f887a8"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of slots in the list. <a href="structsigc_1_1signal__base.html#a0725416f747d6db3c57fa318a9f887a8">More...</a><br /></td></tr>
156 <tr class="separator:a0725416f747d6db3c57fa318a9f887a8"><td class="memSeparator" colspan="2"> </td></tr>
157 <tr class="memitem:aebb7ac69ea745cd60c0505f8d553d27f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#aebb7ac69ea745cd60c0505f8d553d27f">unblock</a> () noexcept</td></tr>
158 <tr class="memdesc:aebb7ac69ea745cd60c0505f8d553d27f"><td class="mdescLeft"> </td><td class="mdescRight">Unsets the blocking state of all slots in the list. <a href="structsigc_1_1signal__base.html#aebb7ac69ea745cd60c0505f8d553d27f">More...</a><br /></td></tr>
159 <tr class="separator:aebb7ac69ea745cd60c0505f8d553d27f"><td class="memSeparator" colspan="2"> </td></tr>
160 <tr class="inherit_header pub_methods_structsigc_1_1trackable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structsigc_1_1trackable')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structsigc_1_1trackable.html">sigc::trackable</a></td></tr>
161 <tr class="memitem:a7e1348841e762fb41b41c6f2ce9fa073 inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#a7e1348841e762fb41b41c6f2ce9fa073">trackable</a> () noexcept</td></tr>
162 <tr class="separator:a7e1348841e762fb41b41c6f2ce9fa073 inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
163 <tr class="memitem:ac8431d9452c9698a012597e6560c72fa inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#ac8431d9452c9698a012597e6560c72fa">trackable</a> (const <a class="el" href="structsigc_1_1trackable.html">trackable</a> & src) noexcept</td></tr>
164 <tr class="separator:ac8431d9452c9698a012597e6560c72fa inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
165 <tr class="memitem:aba42ed8afb6598106cf68c18a7387f18 inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#aba42ed8afb6598106cf68c18a7387f18">trackable</a> (<a class="el" href="structsigc_1_1trackable.html">trackable</a> && src)</td></tr>
166 <tr class="separator:aba42ed8afb6598106cf68c18a7387f18 inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
167 <tr class="memitem:a75587da09e30031db7a2519843f1f4fb inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#a75587da09e30031db7a2519843f1f4fb">~trackable</a> ()</td></tr>
168 <tr class="separator:a75587da09e30031db7a2519843f1f4fb inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
169 <tr class="memitem:aed95b40846f61b4f202348c71d5913ea inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#aed95b40846f61b4f202348c71d5913ea">add_destroy_notify_callback</a> (void *<a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01635.html#a4a0b2b9455f1e2025d77ba49b3863e33">data</a>, <a class="el" href="structsigc_1_1trackable.html#a3338954d7565534bd945290b798e13ed">func_destroy_notify</a> func) const</td></tr>
170 <tr class="memdesc:aed95b40846f61b4f202348c71d5913ea inherit pub_methods_structsigc_1_1trackable"><td class="mdescLeft"> </td><td class="mdescRight">Add a callback that is executed (notified) when the trackable object is detroyed. <a href="structsigc_1_1trackable.html#aed95b40846f61b4f202348c71d5913ea">More...</a><br /></td></tr>
171 <tr class="separator:aed95b40846f61b4f202348c71d5913ea inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
172 <tr class="memitem:af2e23cfe7adc1ca844a3350bbac557cb inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#af2e23cfe7adc1ca844a3350bbac557cb">notify_callbacks</a> ()</td></tr>
173 <tr class="memdesc:af2e23cfe7adc1ca844a3350bbac557cb inherit pub_methods_structsigc_1_1trackable"><td class="mdescLeft"> </td><td class="mdescRight">Execute and remove all previously installed callbacks. <a href="structsigc_1_1trackable.html#af2e23cfe7adc1ca844a3350bbac557cb">More...</a><br /></td></tr>
174 <tr class="separator:af2e23cfe7adc1ca844a3350bbac557cb inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
175 <tr class="memitem:a7494fbad23a65932ff1457d00d4edaf5 inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1trackable.html">trackable</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#a7494fbad23a65932ff1457d00d4edaf5">operator=</a> (const <a class="el" href="structsigc_1_1trackable.html">trackable</a> & src)</td></tr>
176 <tr class="separator:a7494fbad23a65932ff1457d00d4edaf5 inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
177 <tr class="memitem:ac3d61cdb452dc46fcdc8a8d42d9c079d inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1trackable.html">trackable</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#ac3d61cdb452dc46fcdc8a8d42d9c079d">operator=</a> (<a class="el" href="structsigc_1_1trackable.html">trackable</a> && src)</td></tr>
178 <tr class="separator:ac3d61cdb452dc46fcdc8a8d42d9c079d inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
179 <tr class="memitem:ad1c1845ff5b356f13b32180077f83cff inherit pub_methods_structsigc_1_1trackable"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1trackable.html#ad1c1845ff5b356f13b32180077f83cff">remove_destroy_notify_callback</a> (void *<a class="elRef" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a01635.html#a4a0b2b9455f1e2025d77ba49b3863e33">data</a>) const</td></tr>
180 <tr class="memdesc:ad1c1845ff5b356f13b32180077f83cff inherit pub_methods_structsigc_1_1trackable"><td class="mdescLeft"> </td><td class="mdescRight">Remove a callback previously installed with <a class="el" href="structsigc_1_1trackable.html#aed95b40846f61b4f202348c71d5913ea" title="Add a callback that is executed (notified) when the trackable object is detroyed.">add_destroy_notify_callback()</a>. <a href="structsigc_1_1trackable.html#ad1c1845ff5b356f13b32180077f83cff">More...</a><br /></td></tr>
181 <tr class="separator:ad1c1845ff5b356f13b32180077f83cff inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
182 </table><table class="memberdecls">
183 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
184 Protected Types</h2></td></tr>
185 <tr class="memitem:a328b132e5dfb99dbc3aae1e5c3bb0981"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1slot__iterator.html">internal::signal_impl::iterator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a></td></tr>
186 <tr class="separator:a328b132e5dfb99dbc3aae1e5c3bb0981"><td class="memSeparator" colspan="2"> </td></tr>
187 </table><table class="memberdecls">
188 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
189 Protected Member Functions</h2></td></tr>
190 <tr class="memitem:a5c89a76a27d69c512f554b841b1bd08a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a5c89a76a27d69c512f554b841b1bd08a">connect</a> (const <a class="el" href="classsigc_1_1slot__base.html">slot_base</a> & slot_)</td></tr>
191 <tr class="memdesc:a5c89a76a27d69c512f554b841b1bd08a"><td class="mdescLeft"> </td><td class="mdescRight">Adds a slot at the end of the list of slots. <a href="structsigc_1_1signal__base.html#a5c89a76a27d69c512f554b841b1bd08a">More...</a><br /></td></tr>
192 <tr class="separator:a5c89a76a27d69c512f554b841b1bd08a"><td class="memSeparator" colspan="2"> </td></tr>
193 <tr class="memitem:a50eab6d37728bbbf3beb21d684a72e6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a50eab6d37728bbbf3beb21d684a72e6c">connect</a> (<a class="el" href="classsigc_1_1slot__base.html">slot_base</a> && slot_)</td></tr>
194 <tr class="memdesc:a50eab6d37728bbbf3beb21d684a72e6c"><td class="mdescLeft"> </td><td class="mdescRight">Adds a slot at the end of the list of slots. <a href="structsigc_1_1signal__base.html#a50eab6d37728bbbf3beb21d684a72e6c">More...</a><br /></td></tr>
195 <tr class="separator:a50eab6d37728bbbf3beb21d684a72e6c"><td class="memSeparator" colspan="2"> </td></tr>
196 <tr class="memitem:a21efc57eea29c3139855909ad4807984"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a21efc57eea29c3139855909ad4807984">erase</a> (<a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> i)</td></tr>
197 <tr class="memdesc:a21efc57eea29c3139855909ad4807984"><td class="mdescLeft"> </td><td class="mdescRight">Removes the slot at the given position from the list of slots. <a href="structsigc_1_1signal__base.html#a21efc57eea29c3139855909ad4807984">More...</a><br /></td></tr>
198 <tr class="separator:a21efc57eea29c3139855909ad4807984"><td class="memSeparator" colspan="2"> </td></tr>
199 <tr class="memitem:ab0527d817989f2386556ce164c3adfa7"><td class="memItemLeft" align="right" valign="top">internal::signal_impl * </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#ab0527d817989f2386556ce164c3adfa7">impl</a> () const</td></tr>
200 <tr class="memdesc:ab0527d817989f2386556ce164c3adfa7"><td class="mdescLeft"> </td><td class="mdescRight">Returns the signal_impl object encapsulating the list of slots. <a href="structsigc_1_1signal__base.html#ab0527d817989f2386556ce164c3adfa7">More...</a><br /></td></tr>
201 <tr class="separator:ab0527d817989f2386556ce164c3adfa7"><td class="memSeparator" colspan="2"> </td></tr>
202 <tr class="memitem:a87da23ad801faa9e2b6b4be2a747e757"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a87da23ad801faa9e2b6b4be2a747e757">insert</a> (<a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> i, const <a class="el" href="classsigc_1_1slot__base.html">slot_base</a> & slot_)</td></tr>
203 <tr class="memdesc:a87da23ad801faa9e2b6b4be2a747e757"><td class="mdescLeft"> </td><td class="mdescRight">Adds a slot at the given position into the list of slots. <a href="structsigc_1_1signal__base.html#a87da23ad801faa9e2b6b4be2a747e757">More...</a><br /></td></tr>
204 <tr class="separator:a87da23ad801faa9e2b6b4be2a747e757"><td class="memSeparator" colspan="2"> </td></tr>
205 <tr class="memitem:aa80c33868910139dd2f511afcc31b687"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#aa80c33868910139dd2f511afcc31b687">insert</a> (<a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> i, <a class="el" href="classsigc_1_1slot__base.html">slot_base</a> && slot_)</td></tr>
206 <tr class="memdesc:aa80c33868910139dd2f511afcc31b687"><td class="mdescLeft"> </td><td class="mdescRight">Adds a slot at the given position into the list of slots. <a href="structsigc_1_1signal__base.html#aa80c33868910139dd2f511afcc31b687">More...</a><br /></td></tr>
207 <tr class="separator:aa80c33868910139dd2f511afcc31b687"><td class="memSeparator" colspan="2"> </td></tr>
208 </table><table class="memberdecls">
209 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
210 Protected Attributes</h2></td></tr>
211 <tr class="memitem:a747d448c28fd256ef580d165eb69f17a"><td class="memItemLeft" align="right" valign="top">internal::signal_impl * </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a747d448c28fd256ef580d165eb69f17a">impl_</a></td></tr>
212 <tr class="memdesc:a747d448c28fd256ef580d165eb69f17a"><td class="mdescLeft"> </td><td class="mdescRight">The signal_impl object encapsulating the slot list. <a href="structsigc_1_1signal__base.html#a747d448c28fd256ef580d165eb69f17a">More...</a><br /></td></tr>
213 <tr class="separator:a747d448c28fd256ef580d165eb69f17a"><td class="memSeparator" colspan="2"> </td></tr>
215 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
216 <div class="textblock"><p>Base class for the <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates.">sigc::signal</a># templates. </p>
217 <p><a class="el" href="structsigc_1_1signal__base.html" title="Base class for the sigc::signal# templates.">signal_base</a> integrates most of the interface of the derived <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates.">sigc::signal</a># templates. The implementation, however, resides in sigc::internal::signal_impl. A sigc::internal::signal_impl object is dynamically allocated from <a class="el" href="structsigc_1_1signal__base.html" title="Base class for the sigc::signal# templates.">signal_base</a> when first connecting a slot to the signal. This ensures that empty signals don't waste memory.</p>
218 <p>sigc::internal::signal_impl is reference-counted. When a <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates.">sigc::signal</a># object is copied, the reference count of its sigc::internal::signal_impl object is incremented. Both <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates.">sigc::signal</a># objects then refer to the same sigc::internal::signal_impl object.</p>
219 <p>Deleting the signal during emission, e.g. from one of its slots, may result in memory leaks. This drawback is fixed in version 3 of libsigc++. A workaround is to make a copy of the signal during the emission: </p><div class="fragment"><div class="line"><a class="code" href="classsigc_1_1signal.html">sigc::signal</a><...> sig2(*p_sig);</div>
220 <div class="line">p_sig->emit();</div>
221 <div class="ttc" id="aclasssigc_1_1signal_html"><div class="ttname"><a href="classsigc_1_1signal.html">sigc::signal</a></div><div class="ttdoc">Convenience wrapper for the numbered sigc::signal# templates.</div><div class="ttdef"><b>Definition:</b> signal.h:4015</div></div>
222 </div><!-- fragment --><p> This is not very costly. A sigc::signal<> is not much more than a pointer to a sigc::internal::signal_impl instance, which is not copied. </p>
223 </div><h2 class="groupheader">Member Typedef Documentation</h2>
224 <a id="a328b132e5dfb99dbc3aae1e5c3bb0981"></a>
225 <h2 class="memtitle"><span class="permalink"><a href="#a328b132e5dfb99dbc3aae1e5c3bb0981">◆ </a></span>iterator_type</h2>
227 <div class="memitem">
228 <div class="memproto">
229 <table class="mlabels">
231 <td class="mlabels-left">
232 <table class="memname">
234 <td class="memname">typedef <a class="el" href="structsigc_1_1slot__iterator.html">internal::signal_impl::iterator_type</a> <a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">sigc::signal_base::iterator_type</a></td>
238 <td class="mlabels-right">
239 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
242 </div><div class="memdoc">
246 <a id="aa60e22abd088b6cde2dd50fb3f228aa4"></a>
247 <h2 class="memtitle"><span class="permalink"><a href="#aa60e22abd088b6cde2dd50fb3f228aa4">◆ </a></span>size_type</h2>
249 <div class="memitem">
250 <div class="memproto">
251 <table class="memname">
253 <td class="memname">typedef std::size_t <a class="el" href="structsigc_1_1signal__base.html#aa60e22abd088b6cde2dd50fb3f228aa4">sigc::signal_base::size_type</a></td>
256 </div><div class="memdoc">
260 <h2 class="groupheader">Constructor & Destructor Documentation</h2>
261 <a id="aff65198ddcb4fbccb644ff853e663e0e"></a>
262 <h2 class="memtitle"><span class="permalink"><a href="#aff65198ddcb4fbccb644ff853e663e0e">◆ </a></span>signal_base() <span class="overload">[1/3]</span></h2>
264 <div class="memitem">
265 <div class="memproto">
266 <table class="mlabels">
268 <td class="mlabels-left">
269 <table class="memname">
271 <td class="memname">sigc::signal_base::signal_base </td>
273 <td class="paramname"></td><td>)</td>
278 <td class="mlabels-right">
279 <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
282 </div><div class="memdoc">
286 <a id="a761e95b8c7b460664d3338ed3eb39543"></a>
287 <h2 class="memtitle"><span class="permalink"><a href="#a761e95b8c7b460664d3338ed3eb39543">◆ </a></span>signal_base() <span class="overload">[2/3]</span></h2>
289 <div class="memitem">
290 <div class="memproto">
291 <table class="mlabels">
293 <td class="mlabels-left">
294 <table class="memname">
296 <td class="memname">sigc::signal_base::signal_base </td>
298 <td class="paramtype">const <a class="el" href="structsigc_1_1signal__base.html">signal_base</a> & </td>
299 <td class="paramname"><em>src</em></td><td>)</td>
304 <td class="mlabels-right">
305 <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
308 </div><div class="memdoc">
312 <a id="a9f8570c89cd5c0b35613570a5ea80154"></a>
313 <h2 class="memtitle"><span class="permalink"><a href="#a9f8570c89cd5c0b35613570a5ea80154">◆ </a></span>signal_base() <span class="overload">[3/3]</span></h2>
315 <div class="memitem">
316 <div class="memproto">
317 <table class="memname">
319 <td class="memname">sigc::signal_base::signal_base </td>
321 <td class="paramtype"><a class="el" href="structsigc_1_1signal__base.html">signal_base</a> && </td>
322 <td class="paramname"><em>src</em></td><td>)</td>
326 </div><div class="memdoc">
330 <a id="afa2e5807537c989b430015e5ae05a357"></a>
331 <h2 class="memtitle"><span class="permalink"><a href="#afa2e5807537c989b430015e5ae05a357">◆ </a></span>~signal_base()</h2>
333 <div class="memitem">
334 <div class="memproto">
335 <table class="memname">
337 <td class="memname">sigc::signal_base::~signal_base </td>
339 <td class="paramname"></td><td>)</td>
343 </div><div class="memdoc">
347 <h2 class="groupheader">Member Function Documentation</h2>
348 <a id="a52fda4806ec9dbc02baa95ce70c13fb0"></a>
349 <h2 class="memtitle"><span class="permalink"><a href="#a52fda4806ec9dbc02baa95ce70c13fb0">◆ </a></span>block()</h2>
351 <div class="memitem">
352 <div class="memproto">
353 <table class="mlabels">
355 <td class="mlabels-left">
356 <table class="memname">
358 <td class="memname">void sigc::signal_base::block </td>
360 <td class="paramtype">bool </td>
361 <td class="paramname"><em>should_block</em> = <code>true</code></td><td>)</td>
366 <td class="mlabels-right">
367 <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
370 </div><div class="memdoc">
372 <p>Sets the blocking state of all slots in the list. </p>
373 <p>If <em>should_block</em> is <code>true</code> then the blocking state is set. Subsequent emissions of the signal don't invoke the functors contained in the slots until <a class="el" href="structsigc_1_1signal__base.html#aebb7ac69ea745cd60c0505f8d553d27f" title="Unsets the blocking state of all slots in the list.">unblock()</a> or <a class="el" href="structsigc_1_1signal__base.html#a52fda4806ec9dbc02baa95ce70c13fb0" title="Sets the blocking state of all slots in the list.">block()</a> with <em>should_block</em> = <code>false</code> is called. <a class="el" href="classsigc_1_1slot__base.html#a657a8473164c963a5ca4828c88121bb9" title="Sets the blocking state.">sigc::slot_base::block()</a> and <a class="el" href="classsigc_1_1slot__base.html#a25ad0bd4d2cea4dbfcd09f7d393d266d" title="Unsets the blocking state.">sigc::slot_base::unblock()</a> can change the blocking state of individual slots. </p><dl class="params"><dt>Parameters</dt><dd>
374 <table class="params">
375 <tr><td class="paramname">should_block</td><td>Indicates whether the blocking state should be set or unset.</td></tr>
379 <dl class="since_2_4"><dt><b><a class="el" href="since_2_4.html#_since_2_4000019">Since libsigc++ 2.4:</a></b></dt><dd></dd></dl>
383 <a id="a228da4dd1eac6905dafbc5697086e503"></a>
384 <h2 class="memtitle"><span class="permalink"><a href="#a228da4dd1eac6905dafbc5697086e503">◆ </a></span>blocked()</h2>
386 <div class="memitem">
387 <div class="memproto">
388 <table class="mlabels">
390 <td class="mlabels-left">
391 <table class="memname">
393 <td class="memname">bool sigc::signal_base::blocked </td>
395 <td class="paramname"></td><td>)</td>
400 <td class="mlabels-right">
401 <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
404 </div><div class="memdoc">
406 <p>Returns whether all slots in the list are blocked. </p>
407 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if all slots are blocked or the list is empty.</dd></dl>
408 <dl class="since_2_4"><dt><b><a class="el" href="since_2_4.html#_since_2_4000018">Since libsigc++ 2.4:</a></b></dt><dd></dd></dl>
412 <a id="a17597d66e680d222248c523985f0afd6"></a>
413 <h2 class="memtitle"><span class="permalink"><a href="#a17597d66e680d222248c523985f0afd6">◆ </a></span>clear()</h2>
415 <div class="memitem">
416 <div class="memproto">
417 <table class="memname">
419 <td class="memname">void sigc::signal_base::clear </td>
421 <td class="paramname"></td><td>)</td>
425 </div><div class="memdoc">
427 <p>Empties the list of slots. </p>
431 <a id="a5c89a76a27d69c512f554b841b1bd08a"></a>
432 <h2 class="memtitle"><span class="permalink"><a href="#a5c89a76a27d69c512f554b841b1bd08a">◆ </a></span>connect() <span class="overload">[1/2]</span></h2>
434 <div class="memitem">
435 <div class="memproto">
436 <table class="mlabels">
438 <td class="mlabels-left">
439 <table class="memname">
441 <td class="memname"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> sigc::signal_base::connect </td>
443 <td class="paramtype">const <a class="el" href="classsigc_1_1slot__base.html">slot_base</a> & </td>
444 <td class="paramname"><em>slot_</em></td><td>)</td>
449 <td class="mlabels-right">
450 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
453 </div><div class="memdoc">
455 <p>Adds a slot at the end of the list of slots. </p>
456 <p>With <a class="el" href="structsigc_1_1signal__base.html#a5c89a76a27d69c512f554b841b1bd08a" title="Adds a slot at the end of the list of slots.">connect()</a>, slots can also be added during signal emission. In this case, they won't be executed until the next emission occurs. </p><dl class="params"><dt>Parameters</dt><dd>
457 <table class="params">
458 <tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
462 <dl class="section return"><dt>Returns</dt><dd>An iterator pointing to the new slot in the list. </dd></dl>
466 <a id="a50eab6d37728bbbf3beb21d684a72e6c"></a>
467 <h2 class="memtitle"><span class="permalink"><a href="#a50eab6d37728bbbf3beb21d684a72e6c">◆ </a></span>connect() <span class="overload">[2/2]</span></h2>
469 <div class="memitem">
470 <div class="memproto">
471 <table class="mlabels">
473 <td class="mlabels-left">
474 <table class="memname">
476 <td class="memname"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> sigc::signal_base::connect </td>
478 <td class="paramtype"><a class="el" href="classsigc_1_1slot__base.html">slot_base</a> && </td>
479 <td class="paramname"><em>slot_</em></td><td>)</td>
484 <td class="mlabels-right">
485 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
488 </div><div class="memdoc">
490 <p>Adds a slot at the end of the list of slots. </p>
491 <p>With <a class="el" href="structsigc_1_1signal__base.html#a5c89a76a27d69c512f554b841b1bd08a" title="Adds a slot at the end of the list of slots.">connect()</a>, slots can also be added during signal emission. In this case, they won't be executed until the next emission occurs. </p><dl class="params"><dt>Parameters</dt><dd>
492 <table class="params">
493 <tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
497 <dl class="section return"><dt>Returns</dt><dd>An iterator pointing to the new slot in the list.</dd></dl>
498 <dl class="since_2_8"><dt><b><a class="el" href="since_2_8.html#_since_2_8000011">Since libsigc++ 2.8:</a></b></dt><dd></dd></dl>
502 <a id="a24e7fc4e07ac19cebafe8e3bd71bfe94"></a>
503 <h2 class="memtitle"><span class="permalink"><a href="#a24e7fc4e07ac19cebafe8e3bd71bfe94">◆ </a></span>empty()</h2>
505 <div class="memitem">
506 <div class="memproto">
507 <table class="mlabels">
509 <td class="mlabels-left">
510 <table class="memname">
512 <td class="memname">bool sigc::signal_base::empty </td>
514 <td class="paramname"></td><td>)</td>
519 <td class="mlabels-right">
520 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
523 </div><div class="memdoc">
525 <p>Returns whether the list of slots is empty. </p>
526 <dl class="section return"><dt>Returns</dt><dd><code>true</code> if the list of slots is empty. </dd></dl>
530 <a id="a21efc57eea29c3139855909ad4807984"></a>
531 <h2 class="memtitle"><span class="permalink"><a href="#a21efc57eea29c3139855909ad4807984">◆ </a></span>erase()</h2>
533 <div class="memitem">
534 <div class="memproto">
535 <table class="mlabels">
537 <td class="mlabels-left">
538 <table class="memname">
540 <td class="memname"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> sigc::signal_base::erase </td>
542 <td class="paramtype"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> </td>
543 <td class="paramname"><em>i</em></td><td>)</td>
548 <td class="mlabels-right">
549 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
552 </div><div class="memdoc">
554 <p>Removes the slot at the given position from the list of slots. </p>
555 <p>Note that this function does not work during signal emission! </p><dl class="params"><dt>Parameters</dt><dd>
556 <table class="params">
557 <tr><td class="paramname">i</td><td>An iterator pointing to the slot to be removed. </td></tr>
561 <dl class="section return"><dt>Returns</dt><dd>An iterator pointing to the slot in the list after the one removed. </dd></dl>
565 <a id="ab0527d817989f2386556ce164c3adfa7"></a>
566 <h2 class="memtitle"><span class="permalink"><a href="#ab0527d817989f2386556ce164c3adfa7">◆ </a></span>impl()</h2>
568 <div class="memitem">
569 <div class="memproto">
570 <table class="mlabels">
572 <td class="mlabels-left">
573 <table class="memname">
575 <td class="memname">internal::signal_impl* sigc::signal_base::impl </td>
577 <td class="paramname"></td><td>)</td>
582 <td class="mlabels-right">
583 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
586 </div><div class="memdoc">
588 <p>Returns the signal_impl object encapsulating the list of slots. </p>
589 <dl class="section return"><dt>Returns</dt><dd>The signal_impl object encapsulating the list of slots. </dd></dl>
593 <a id="a87da23ad801faa9e2b6b4be2a747e757"></a>
594 <h2 class="memtitle"><span class="permalink"><a href="#a87da23ad801faa9e2b6b4be2a747e757">◆ </a></span>insert() <span class="overload">[1/2]</span></h2>
596 <div class="memitem">
597 <div class="memproto">
598 <table class="mlabels">
600 <td class="mlabels-left">
601 <table class="memname">
603 <td class="memname"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> sigc::signal_base::insert </td>
605 <td class="paramtype"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> </td>
606 <td class="paramname"><em>i</em>, </td>
609 <td class="paramkey"></td>
611 <td class="paramtype">const <a class="el" href="classsigc_1_1slot__base.html">slot_base</a> & </td>
612 <td class="paramname"><em>slot_</em> </td>
621 <td class="mlabels-right">
622 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
625 </div><div class="memdoc">
627 <p>Adds a slot at the given position into the list of slots. </p>
628 <p>Note that this function does not work during signal emission! </p><dl class="params"><dt>Parameters</dt><dd>
629 <table class="params">
630 <tr><td class="paramname">i</td><td>An iterator indicating the position where <em>slot_</em> should be inserted. </td></tr>
631 <tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
635 <dl class="section return"><dt>Returns</dt><dd>An iterator pointing to the new slot in the list. </dd></dl>
639 <a id="aa80c33868910139dd2f511afcc31b687"></a>
640 <h2 class="memtitle"><span class="permalink"><a href="#aa80c33868910139dd2f511afcc31b687">◆ </a></span>insert() <span class="overload">[2/2]</span></h2>
642 <div class="memitem">
643 <div class="memproto">
644 <table class="mlabels">
646 <td class="mlabels-left">
647 <table class="memname">
649 <td class="memname"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> sigc::signal_base::insert </td>
651 <td class="paramtype"><a class="el" href="structsigc_1_1signal__base.html#a328b132e5dfb99dbc3aae1e5c3bb0981">iterator_type</a> </td>
652 <td class="paramname"><em>i</em>, </td>
655 <td class="paramkey"></td>
657 <td class="paramtype"><a class="el" href="classsigc_1_1slot__base.html">slot_base</a> && </td>
658 <td class="paramname"><em>slot_</em> </td>
667 <td class="mlabels-right">
668 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
671 </div><div class="memdoc">
673 <p>Adds a slot at the given position into the list of slots. </p>
674 <p>Note that this function does not work during signal emission! </p><dl class="params"><dt>Parameters</dt><dd>
675 <table class="params">
676 <tr><td class="paramname">i</td><td>An iterator indicating the position where <em>slot_</em> should be inserted. </td></tr>
677 <tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
681 <dl class="section return"><dt>Returns</dt><dd>An iterator pointing to the new slot in the list.</dd></dl>
682 <dl class="since_2_8"><dt><b><a class="el" href="since_2_8.html#_since_2_8000012">Since libsigc++ 2.8:</a></b></dt><dd></dd></dl>
686 <a id="a90b36a7b33e107ce0af0de895e0df286"></a>
687 <h2 class="memtitle"><span class="permalink"><a href="#a90b36a7b33e107ce0af0de895e0df286">◆ </a></span>operator=() <span class="overload">[1/2]</span></h2>
689 <div class="memitem">
690 <div class="memproto">
691 <table class="memname">
693 <td class="memname"><a class="el" href="structsigc_1_1signal__base.html">signal_base</a>& sigc::signal_base::operator= </td>
695 <td class="paramtype">const <a class="el" href="structsigc_1_1signal__base.html">signal_base</a> & </td>
696 <td class="paramname"><em>src</em></td><td>)</td>
700 </div><div class="memdoc">
704 <a id="a277a34edf44207fb4784807eac5872c6"></a>
705 <h2 class="memtitle"><span class="permalink"><a href="#a277a34edf44207fb4784807eac5872c6">◆ </a></span>operator=() <span class="overload">[2/2]</span></h2>
707 <div class="memitem">
708 <div class="memproto">
709 <table class="memname">
711 <td class="memname"><a class="el" href="structsigc_1_1signal__base.html">signal_base</a>& sigc::signal_base::operator= </td>
713 <td class="paramtype"><a class="el" href="structsigc_1_1signal__base.html">signal_base</a> && </td>
714 <td class="paramname"><em>src</em></td><td>)</td>
718 </div><div class="memdoc">
722 <a id="a0725416f747d6db3c57fa318a9f887a8"></a>
723 <h2 class="memtitle"><span class="permalink"><a href="#a0725416f747d6db3c57fa318a9f887a8">◆ </a></span>size()</h2>
725 <div class="memitem">
726 <div class="memproto">
727 <table class="mlabels">
729 <td class="mlabels-left">
730 <table class="memname">
732 <td class="memname"><a class="el" href="structsigc_1_1signal__base.html#aa60e22abd088b6cde2dd50fb3f228aa4">size_type</a> sigc::signal_base::size </td>
734 <td class="paramname"></td><td>)</td>
739 <td class="mlabels-right">
740 <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
743 </div><div class="memdoc">
745 <p>Returns the number of slots in the list. </p>
746 <dl class="section return"><dt>Returns</dt><dd>The number of slots in the list. </dd></dl>
750 <a id="aebb7ac69ea745cd60c0505f8d553d27f"></a>
751 <h2 class="memtitle"><span class="permalink"><a href="#aebb7ac69ea745cd60c0505f8d553d27f">◆ </a></span>unblock()</h2>
753 <div class="memitem">
754 <div class="memproto">
755 <table class="mlabels">
757 <td class="mlabels-left">
758 <table class="memname">
760 <td class="memname">void sigc::signal_base::unblock </td>
762 <td class="paramname"></td><td>)</td>
767 <td class="mlabels-right">
768 <span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
771 </div><div class="memdoc">
773 <p>Unsets the blocking state of all slots in the list. </p>
774 <dl class="since_2_4"><dt><b><a class="el" href="since_2_4.html#_since_2_4000020">Since libsigc++ 2.4:</a></b></dt><dd></dd></dl>
778 <h2 class="groupheader">Member Data Documentation</h2>
779 <a id="a747d448c28fd256ef580d165eb69f17a"></a>
780 <h2 class="memtitle"><span class="permalink"><a href="#a747d448c28fd256ef580d165eb69f17a">◆ </a></span>impl_</h2>
782 <div class="memitem">
783 <div class="memproto">
784 <table class="mlabels">
786 <td class="mlabels-left">
787 <table class="memname">
789 <td class="memname">internal::signal_impl* sigc::signal_base::impl_</td>
793 <td class="mlabels-right">
794 <span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">protected</span></span> </td>
797 </div><div class="memdoc">
799 <p>The signal_impl object encapsulating the slot list. </p>
803 </div><!-- contents -->
804 <!-- start footer part -->
805 <hr class="footer"/><address class="footer"><small>
806 Generated on Fri Feb 11 2022 15:40:59 for libsigc++ by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1