1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.9.1"/>
7 <title>libsigc++: sigc::signal4< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator > Class Template Reference</title>
8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <script type="text/javascript" src="jquery.js"></script>
10 <script type="text/javascript" src="dynsections.js"></script>
11 <link href="doxygen.css" rel="stylesheet" type="text/css" />
12 <link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
15 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
17 <table cellspacing="0" cellpadding="0">
19 <tr style="height: 56px;">
20 <td style="padding-left: 0.5em;">
21 <div id="projectname">libsigc++
22  <span id="projectnumber">2.6.1</span>
29 <!-- end header part -->
30 <!-- Generated by Doxygen 1.8.9.1 -->
31 <div id="navrow1" class="tabs">
33 <li><a href="index.html"><span>Main Page</span></a></li>
34 <li><a href="pages.html"><span>Related Pages</span></a></li>
35 <li><a href="modules.html"><span>Modules</span></a></li>
36 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
37 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
40 <div id="navrow2" class="tabs2">
42 <li><a href="annotated.html"><span>Class List</span></a></li>
43 <li><a href="classes.html"><span>Class Index</span></a></li>
44 <li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
45 <li><a href="functions.html"><span>Class Members</span></a></li>
48 <div id="nav-path" class="navpath">
50 <li class="navelem"><a class="el" href="namespacesigc.html">sigc</a></li><li class="navelem"><a class="el" href="classsigc_1_1signal4.html">signal4</a></li> </ul>
55 <a href="#pub-types">Public Types</a> |
56 <a href="#pub-methods">Public Member Functions</a> |
57 <a href="classsigc_1_1signal4-members.html">List of all members</a> </div>
58 <div class="headertitle">
59 <div class="title">sigc::signal4< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator > Class Template Reference<div class="ingroups"><a class="el" href="group__signal.html">Signals</a></div></div> </div>
61 <div class="contents">
63 <p>Signal declaration.
64 <a href="classsigc_1_1signal4.html#details">More...</a></p>
66 <p><code>#include <sigc++/signal.h></code></p>
67 <div class="dynheader">
68 Inheritance diagram for sigc::signal4< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >:</div>
69 <div class="dyncontent">
70 <div class="center"><img src="classsigc_1_1signal4__inherit__graph.png" border="0" usemap="#sigc_1_1signal4_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__accumulator_01_4_inherit__map" alt="Inheritance graph"/></div>
71 <map name="sigc_1_1signal4_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__accumulator_01_4_inherit__map" id="sigc_1_1signal4_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__accumulator_01_4_inherit__map">
72 <area shape="rect" id="node4" 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="581,5,756,76"/><area shape="rect" id="node2" href="structsigc_1_1signal__base.html" title="Base class for the sigc::signal# templates. " alt="" coords="168,27,299,54"/><area shape="rect" id="node3" href="structsigc_1_1trackable.html" title="Base class for objects with auto-disconnection. " alt="" coords="5,27,120,54"/></map>
73 <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
74 <table class="memberdecls">
75 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
76 Public Types</h2></td></tr>
77 <tr class="memitem:a3d2626edc726047c04c8fe5b9824b958"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1slot__list.html#a957838a7111e132824c10c2d5a897a0b">slot_list_type::const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a3d2626edc726047c04c8fe5b9824b958">const_iterator</a></td></tr>
78 <tr class="separator:a3d2626edc726047c04c8fe5b9824b958"><td class="memSeparator" colspan="2"> </td></tr>
79 <tr class="memitem:a555ce030884fdf2bde788b75db01bedf"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1slot__list.html#a8293bfca54539958326f57375e4d8c14">slot_list_type::const_reverse_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a555ce030884fdf2bde788b75db01bedf">const_reverse_iterator</a></td></tr>
80 <tr class="separator:a555ce030884fdf2bde788b75db01bedf"><td class="memSeparator" colspan="2"> </td></tr>
81 <tr class="memitem:acf3d1e6d6487c0ecc13ed3eab949eec7"><td class="memItemLeft" align="right" valign="top">typedef internal::signal_emit4< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#acf3d1e6d6487c0ecc13ed3eab949eec7">emitter_type</a></td></tr>
82 <tr class="separator:acf3d1e6d6487c0ecc13ed3eab949eec7"><td class="memSeparator" colspan="2"> </td></tr>
83 <tr class="memitem:a31e8354263a3097bba9c63b8494143f0"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1slot__list.html#a9774e07e467d9463e6e7cc7aa2f5c05f">slot_list_type::iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a31e8354263a3097bba9c63b8494143f0">iterator</a></td></tr>
84 <tr class="separator:a31e8354263a3097bba9c63b8494143f0"><td class="memSeparator" colspan="2"> </td></tr>
85 <tr class="memitem:af32418ba14001a63d28af08abb7407f0"><td class="memItemLeft" align="right" valign="top">typedef emitter_type::result_type </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a></td></tr>
86 <tr class="separator:af32418ba14001a63d28af08abb7407f0"><td class="memSeparator" colspan="2"> </td></tr>
87 <tr class="memitem:a1395da7d3283b0166af135193a4047c8"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1slot__list.html#addb44a7590825f917b3fcf0179fadadb">slot_list_type::reverse_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a1395da7d3283b0166af135193a4047c8">reverse_iterator</a></td></tr>
88 <tr class="separator:a1395da7d3283b0166af135193a4047c8"><td class="memSeparator" colspan="2"> </td></tr>
89 <tr class="memitem:a0ad0f56a43825c6d77d36dd2f06ef828"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1slot__list.html">slot_list</a>< <a class="el" href="classsigc_1_1signal4.html#ae047b85e600473c7c42a6873fef00077">slot_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a0ad0f56a43825c6d77d36dd2f06ef828">slot_list_type</a></td></tr>
90 <tr class="separator:a0ad0f56a43825c6d77d36dd2f06ef828"><td class="memSeparator" colspan="2"> </td></tr>
91 <tr class="memitem:ae047b85e600473c7c42a6873fef00077"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classsigc_1_1slot.html">slot</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4 > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#ae047b85e600473c7c42a6873fef00077">slot_type</a></td></tr>
92 <tr class="separator:ae047b85e600473c7c42a6873fef00077"><td class="memSeparator" colspan="2"> </td></tr>
93 <tr class="inherit_header pub_types_structsigc_1_1signal__base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_structsigc_1_1signal__base')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="structsigc_1_1signal__base.html">sigc::signal_base</a></td></tr>
94 <tr class="memitem:aa60e22abd088b6cde2dd50fb3f228aa4 inherit pub_types_structsigc_1_1signal__base"><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>
95 <tr class="separator:aa60e22abd088b6cde2dd50fb3f228aa4 inherit pub_types_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
96 <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>
97 <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>
98 <tr class="separator:a3338954d7565534bd945290b798e13ed inherit pub_types_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
99 </table><table class="memberdecls">
100 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
101 Public Member Functions</h2></td></tr>
102 <tr class="memitem:a2d469f516a9edac2b20d7f6cf46e821a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a2d469f516a9edac2b20d7f6cf46e821a">signal4</a> ()</td></tr>
103 <tr class="separator:a2d469f516a9edac2b20d7f6cf46e821a"><td class="memSeparator" colspan="2"> </td></tr>
104 <tr class="memitem:a2d29b39c12c6c014ed7166190e9c8e22"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a2d29b39c12c6c014ed7166190e9c8e22">signal4</a> (const <a class="el" href="classsigc_1_1signal4.html">signal4</a>& src)</td></tr>
105 <tr class="separator:a2d29b39c12c6c014ed7166190e9c8e22"><td class="memSeparator" colspan="2"> </td></tr>
106 <tr class="memitem:a5fdb6df3cf74f5c96fb6319eef4d0a39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1signal4.html#a31e8354263a3097bba9c63b8494143f0">iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a5fdb6df3cf74f5c96fb6319eef4d0a39">connect</a> (const <a class="el" href="classsigc_1_1signal4.html#ae047b85e600473c7c42a6873fef00077">slot_type</a>& slot_)</td></tr>
107 <tr class="memdesc:a5fdb6df3cf74f5c96fb6319eef4d0a39"><td class="mdescLeft"> </td><td class="mdescRight">Add a slot to the list of slots. <a href="#a5fdb6df3cf74f5c96fb6319eef4d0a39">More...</a><br /></td></tr>
108 <tr class="separator:a5fdb6df3cf74f5c96fb6319eef4d0a39"><td class="memSeparator" colspan="2"> </td></tr>
109 <tr class="memitem:a16d68efe8c4495877e263f424466755b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b">emit</a> (<a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg1 > _A_a1, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg2 > _A_a2, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg3 > _A_a3, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg4 > _A_a4) const </td></tr>
110 <tr class="memdesc:a16d68efe8c4495877e263f424466755b"><td class="mdescLeft"> </td><td class="mdescRight">Triggers the emission of the signal. <a href="#a16d68efe8c4495877e263f424466755b">More...</a><br /></td></tr>
111 <tr class="separator:a16d68efe8c4495877e263f424466755b"><td class="memSeparator" colspan="2"> </td></tr>
112 <tr class="memitem:ab3a5271b19f65f2066deec6f0504cfc1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#ab3a5271b19f65f2066deec6f0504cfc1">emit_reverse</a> (<a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg1 > _A_a1, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg2 > _A_a2, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg3 > _A_a3, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg4 > _A_a4) const </td></tr>
113 <tr class="memdesc:ab3a5271b19f65f2066deec6f0504cfc1"><td class="mdescLeft"> </td><td class="mdescRight">Triggers the emission of the signal in reverse order (see <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a>). <a href="#ab3a5271b19f65f2066deec6f0504cfc1">More...</a><br /></td></tr>
114 <tr class="separator:ab3a5271b19f65f2066deec6f0504cfc1"><td class="memSeparator" colspan="2"> </td></tr>
115 <tr class="memitem:ae93761723ae7257ea74ee5b0db850c7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1bound__const__mem__functor4.html">bound_const_mem_functor4</a>< <a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a>, <a class="el" href="classsigc_1_1signal4.html">signal4</a>, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg1 >, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg2 >, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg3 >, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg4 > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#ae93761723ae7257ea74ee5b0db850c7f">make_slot</a> () const </td></tr>
116 <tr class="memdesc:ae93761723ae7257ea74ee5b0db850c7f"><td class="mdescLeft"> </td><td class="mdescRight">Creates a functor that calls <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a> on this signal. <a href="#ae93761723ae7257ea74ee5b0db850c7f">More...</a><br /></td></tr>
117 <tr class="separator:ae93761723ae7257ea74ee5b0db850c7f"><td class="memSeparator" colspan="2"> </td></tr>
118 <tr class="memitem:a7bfde7c1427ed55f3be628e467aa0cf5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a7bfde7c1427ed55f3be628e467aa0cf5">operator()</a> (<a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg1 > _A_a1, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg2 > _A_a2, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg3 > _A_a3, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg4 > _A_a4) const </td></tr>
119 <tr class="memdesc:a7bfde7c1427ed55f3be628e467aa0cf5"><td class="mdescLeft"> </td><td class="mdescRight">Triggers the emission of the signal (see <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a>). <a href="#a7bfde7c1427ed55f3be628e467aa0cf5">More...</a><br /></td></tr>
120 <tr class="separator:a7bfde7c1427ed55f3be628e467aa0cf5"><td class="memSeparator" colspan="2"> </td></tr>
121 <tr class="memitem:ae490f1a6802c40a4c3b12e1580520c88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1signal4.html#a0ad0f56a43825c6d77d36dd2f06ef828">slot_list_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#ae490f1a6802c40a4c3b12e1580520c88">slots</a> ()</td></tr>
122 <tr class="memdesc:ae490f1a6802c40a4c3b12e1580520c88"><td class="mdescLeft"> </td><td class="mdescRight">Creates an STL-style interface for the signal's list of slots. <a href="#ae490f1a6802c40a4c3b12e1580520c88">More...</a><br /></td></tr>
123 <tr class="separator:ae490f1a6802c40a4c3b12e1580520c88"><td class="memSeparator" colspan="2"> </td></tr>
124 <tr class="memitem:a3336c8164cb70eae8f5de655f55ed29f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classsigc_1_1signal4.html#a0ad0f56a43825c6d77d36dd2f06ef828">slot_list_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal4.html#a3336c8164cb70eae8f5de655f55ed29f">slots</a> () const </td></tr>
125 <tr class="memdesc:a3336c8164cb70eae8f5de655f55ed29f"><td class="mdescLeft"> </td><td class="mdescRight">Creates an STL-style interface for the signal's list of slots. <a href="#a3336c8164cb70eae8f5de655f55ed29f">More...</a><br /></td></tr>
126 <tr class="separator:a3336c8164cb70eae8f5de655f55ed29f"><td class="memSeparator" colspan="2"> </td></tr>
127 <tr class="inherit_header pub_methods_structsigc_1_1signal__base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structsigc_1_1signal__base')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structsigc_1_1signal__base.html">sigc::signal_base</a></td></tr>
128 <tr class="memitem:aa6112fc84ae5bd06fb09a8fb0dfbba2c inherit pub_methods_structsigc_1_1signal__base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#aa6112fc84ae5bd06fb09a8fb0dfbba2c">signal_base</a> ()</td></tr>
129 <tr class="separator:aa6112fc84ae5bd06fb09a8fb0dfbba2c inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
130 <tr class="memitem:aaeb49371ba502691978e2f860117e3c3 inherit pub_methods_structsigc_1_1signal__base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#aaeb49371ba502691978e2f860117e3c3">signal_base</a> (const <a class="el" href="structsigc_1_1signal__base.html">signal_base</a>& src)</td></tr>
131 <tr class="separator:aaeb49371ba502691978e2f860117e3c3 inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
132 <tr class="memitem:a5fa03a86b20d6ae81770259e2c5ed091 inherit pub_methods_structsigc_1_1signal__base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a5fa03a86b20d6ae81770259e2c5ed091">signal_base</a> (<a class="el" href="structsigc_1_1signal__base.html">signal_base</a>&& src) noexcept</td></tr>
133 <tr class="separator:a5fa03a86b20d6ae81770259e2c5ed091 inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
134 <tr class="memitem:afa2e5807537c989b430015e5ae05a357 inherit pub_methods_structsigc_1_1signal__base"><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>
135 <tr class="separator:afa2e5807537c989b430015e5ae05a357 inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
136 <tr class="memitem:aa27e3585b4b420957040d93324e6b32d inherit pub_methods_structsigc_1_1signal__base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#aa27e3585b4b420957040d93324e6b32d">block</a> (bool should_block=true)</td></tr>
137 <tr class="memdesc:aa27e3585b4b420957040d93324e6b32d inherit pub_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Sets the blocking state of all slots in the list. <a href="#aa27e3585b4b420957040d93324e6b32d">More...</a><br /></td></tr>
138 <tr class="separator:aa27e3585b4b420957040d93324e6b32d inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
139 <tr class="memitem:af289509690157d392437be35b40d937a inherit pub_methods_structsigc_1_1signal__base"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#af289509690157d392437be35b40d937a">blocked</a> () const </td></tr>
140 <tr class="memdesc:af289509690157d392437be35b40d937a inherit pub_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether all slots in the list are blocked. <a href="#af289509690157d392437be35b40d937a">More...</a><br /></td></tr>
141 <tr class="separator:af289509690157d392437be35b40d937a inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
142 <tr class="memitem:a17597d66e680d222248c523985f0afd6 inherit pub_methods_structsigc_1_1signal__base"><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>
143 <tr class="memdesc:a17597d66e680d222248c523985f0afd6 inherit pub_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Empties the list of slots. <a href="#a17597d66e680d222248c523985f0afd6">More...</a><br /></td></tr>
144 <tr class="separator:a17597d66e680d222248c523985f0afd6 inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
145 <tr class="memitem:abc8fe88ca813837ff3fb3ef4ecb4e8a7 inherit pub_methods_structsigc_1_1signal__base"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#abc8fe88ca813837ff3fb3ef4ecb4e8a7">empty</a> () const </td></tr>
146 <tr class="memdesc:abc8fe88ca813837ff3fb3ef4ecb4e8a7 inherit pub_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the list of slots is empty. <a href="#abc8fe88ca813837ff3fb3ef4ecb4e8a7">More...</a><br /></td></tr>
147 <tr class="separator:abc8fe88ca813837ff3fb3ef4ecb4e8a7 inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
148 <tr class="memitem:a90b36a7b33e107ce0af0de895e0df286 inherit pub_methods_structsigc_1_1signal__base"><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>
149 <tr class="separator:a90b36a7b33e107ce0af0de895e0df286 inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
150 <tr class="memitem:a84d461376428abf592e41c8175767ccc inherit pub_methods_structsigc_1_1signal__base"><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#a84d461376428abf592e41c8175767ccc">operator=</a> (<a class="el" href="structsigc_1_1signal__base.html">signal_base</a>&& src) noexcept</td></tr>
151 <tr class="separator:a84d461376428abf592e41c8175767ccc inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
152 <tr class="memitem:a06e0889c75cccc15dcec71a48acae00d inherit pub_methods_structsigc_1_1signal__base"><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#a06e0889c75cccc15dcec71a48acae00d">size</a> () const </td></tr>
153 <tr class="memdesc:a06e0889c75cccc15dcec71a48acae00d inherit pub_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of slots in the list. <a href="#a06e0889c75cccc15dcec71a48acae00d">More...</a><br /></td></tr>
154 <tr class="separator:a06e0889c75cccc15dcec71a48acae00d inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
155 <tr class="memitem:a6a2ba287d992bcaa87eb71ba8c78c37c inherit pub_methods_structsigc_1_1signal__base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigc_1_1signal__base.html#a6a2ba287d992bcaa87eb71ba8c78c37c">unblock</a> ()</td></tr>
156 <tr class="memdesc:a6a2ba287d992bcaa87eb71ba8c78c37c inherit pub_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Unsets the blocking state of all slots in the list. <a href="#a6a2ba287d992bcaa87eb71ba8c78c37c">More...</a><br /></td></tr>
157 <tr class="separator:a6a2ba287d992bcaa87eb71ba8c78c37c inherit pub_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
158 <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>
159 <tr class="memitem:a09f5b2fe24c2ac1da8322ed0ea1553ea 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#a09f5b2fe24c2ac1da8322ed0ea1553ea">trackable</a> ()</td></tr>
160 <tr class="separator:a09f5b2fe24c2ac1da8322ed0ea1553ea inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
161 <tr class="memitem:a7efefbcab4645648a366da3439242198 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#a7efefbcab4645648a366da3439242198">trackable</a> (const <a class="el" href="structsigc_1_1trackable.html">trackable</a>& src)</td></tr>
162 <tr class="separator:a7efefbcab4645648a366da3439242198 inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
163 <tr class="memitem:a9a6ff5a4d7c51cede2117525f470f96a 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#a9a6ff5a4d7c51cede2117525f470f96a">trackable</a> (<a class="el" href="structsigc_1_1trackable.html">trackable</a>&& src) noexcept</td></tr>
164 <tr class="separator:a9a6ff5a4d7c51cede2117525f470f96a inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
165 <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>
166 <tr class="separator:a75587da09e30031db7a2519843f1f4fb inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
167 <tr class="memitem:ab14931670837728e49bb5ca88fb16db5 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#ab14931670837728e49bb5ca88fb16db5">add_destroy_notify_callback</a> (void* data, <a class="el" href="structsigc_1_1trackable.html#a3338954d7565534bd945290b798e13ed">func_destroy_notify</a> func) const </td></tr>
168 <tr class="memdesc:ab14931670837728e49bb5ca88fb16db5 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="#ab14931670837728e49bb5ca88fb16db5">More...</a><br /></td></tr>
169 <tr class="separator:ab14931670837728e49bb5ca88fb16db5 inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
170 <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>
171 <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="#af2e23cfe7adc1ca844a3350bbac557cb">More...</a><br /></td></tr>
172 <tr class="separator:af2e23cfe7adc1ca844a3350bbac557cb inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
173 <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>
174 <tr class="separator:a7494fbad23a65932ff1457d00d4edaf5 inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
175 <tr class="memitem:a400b5799372238211a4437844d923a4e 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#a400b5799372238211a4437844d923a4e">operator=</a> (<a class="el" href="structsigc_1_1trackable.html">trackable</a>&& src) noexcept</td></tr>
176 <tr class="separator:a400b5799372238211a4437844d923a4e inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
177 <tr class="memitem:a8b9dffa8a50ff13ba33e6c7f10468e2b 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#a8b9dffa8a50ff13ba33e6c7f10468e2b">remove_destroy_notify_callback</a> (void* data) const </td></tr>
178 <tr class="memdesc:a8b9dffa8a50ff13ba33e6c7f10468e2b 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#ab14931670837728e49bb5ca88fb16db5" title="Add a callback that is executed (notified) when the trackable object is detroyed. ...">add_destroy_notify_callback()</a>. <a href="#a8b9dffa8a50ff13ba33e6c7f10468e2b">More...</a><br /></td></tr>
179 <tr class="separator:a8b9dffa8a50ff13ba33e6c7f10468e2b inherit pub_methods_structsigc_1_1trackable"><td class="memSeparator" colspan="2"> </td></tr>
180 </table><table class="memberdecls">
181 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
182 Additional Inherited Members</h2></td></tr>
183 <tr class="inherit_header pro_types_structsigc_1_1signal__base"><td colspan="2" onclick="javascript:toggleInherit('pro_types_structsigc_1_1signal__base')"><img src="closed.png" alt="-"/> Protected Types inherited from <a class="el" href="structsigc_1_1signal__base.html">sigc::signal_base</a></td></tr>
184 <tr class="memitem:a328b132e5dfb99dbc3aae1e5c3bb0981 inherit pro_types_structsigc_1_1signal__base"><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>
185 <tr class="separator:a328b132e5dfb99dbc3aae1e5c3bb0981 inherit pro_types_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
186 <tr class="inherit_header pro_methods_structsigc_1_1signal__base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_structsigc_1_1signal__base')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="structsigc_1_1signal__base.html">sigc::signal_base</a></td></tr>
187 <tr class="memitem:a5c89a76a27d69c512f554b841b1bd08a inherit pro_methods_structsigc_1_1signal__base"><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>
188 <tr class="memdesc:a5c89a76a27d69c512f554b841b1bd08a inherit pro_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Adds a slot at the end of the list of slots. <a href="#a5c89a76a27d69c512f554b841b1bd08a">More...</a><br /></td></tr>
189 <tr class="separator:a5c89a76a27d69c512f554b841b1bd08a inherit pro_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
190 <tr class="memitem:a21efc57eea29c3139855909ad4807984 inherit pro_methods_structsigc_1_1signal__base"><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>
191 <tr class="memdesc:a21efc57eea29c3139855909ad4807984 inherit pro_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Removes the slot at the given position from the list of slots. <a href="#a21efc57eea29c3139855909ad4807984">More...</a><br /></td></tr>
192 <tr class="separator:a21efc57eea29c3139855909ad4807984 inherit pro_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
193 <tr class="memitem:ab1b7d9bc2a59c4c67d0123a65a7baab9 inherit pro_methods_structsigc_1_1signal__base"><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#ab1b7d9bc2a59c4c67d0123a65a7baab9">impl</a> () const </td></tr>
194 <tr class="memdesc:ab1b7d9bc2a59c4c67d0123a65a7baab9 inherit pro_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Returns the signal_impl object encapsulating the list of slots. <a href="#ab1b7d9bc2a59c4c67d0123a65a7baab9">More...</a><br /></td></tr>
195 <tr class="separator:ab1b7d9bc2a59c4c67d0123a65a7baab9 inherit pro_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
196 <tr class="memitem:a87da23ad801faa9e2b6b4be2a747e757 inherit pro_methods_structsigc_1_1signal__base"><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>
197 <tr class="memdesc:a87da23ad801faa9e2b6b4be2a747e757 inherit pro_methods_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">Adds a slot at the given position into the list of slots. <a href="#a87da23ad801faa9e2b6b4be2a747e757">More...</a><br /></td></tr>
198 <tr class="separator:a87da23ad801faa9e2b6b4be2a747e757 inherit pro_methods_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
199 <tr class="inherit_header pro_attribs_structsigc_1_1signal__base"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_structsigc_1_1signal__base')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="structsigc_1_1signal__base.html">sigc::signal_base</a></td></tr>
200 <tr class="memitem:a747d448c28fd256ef580d165eb69f17a inherit pro_attribs_structsigc_1_1signal__base"><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>
201 <tr class="memdesc:a747d448c28fd256ef580d165eb69f17a inherit pro_attribs_structsigc_1_1signal__base"><td class="mdescLeft"> </td><td class="mdescRight">The signal_impl object encapsulating the slot list. <a href="#a747d448c28fd256ef580d165eb69f17a">More...</a><br /></td></tr>
202 <tr class="separator:a747d448c28fd256ef580d165eb69f17a inherit pro_attribs_structsigc_1_1signal__base"><td class="memSeparator" colspan="2"> </td></tr>
204 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
205 <div class="textblock"><h3>template<class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil><br />
206 class sigc::signal4< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator ></h3>
208 <p>Signal declaration. </p>
209 <p><a class="el" href="classsigc_1_1signal4.html" title="Signal declaration. ">signal4</a> can be used to <a class="el" href="classsigc_1_1signal4.html#a5fdb6df3cf74f5c96fb6319eef4d0a39" title="Add a slot to the list of slots. ">connect()</a> slots that are invoked during subsequent calls to <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a>. Any functor or slot can be passed into <a class="el" href="classsigc_1_1signal4.html#a5fdb6df3cf74f5c96fb6319eef4d0a39" title="Add a slot to the list of slots. ">connect()</a>. It is converted into a slot implicitly.</p>
210 <p>If you want to connect one signal to another, use <a class="el" href="classsigc_1_1signal4.html#ae93761723ae7257ea74ee5b0db850c7f" title="Creates a functor that calls emit() on this signal. ">make_slot()</a> to retrieve a functor that emits the signal when invoked.</p>
211 <p>Be careful if you directly pass one signal into the <a class="el" href="classsigc_1_1signal4.html#a5fdb6df3cf74f5c96fb6319eef4d0a39" title="Add a slot to the list of slots. ">connect()</a> method of another: a shallow copy of the signal is made and the signal's slots are not disconnected until both the signal and its clone are destroyed, which is probably not what you want!</p>
212 <p>An STL-style list interface for the signal's list of slots can be retrieved with <a class="el" href="classsigc_1_1signal4.html#ae490f1a6802c40a4c3b12e1580520c88" title="Creates an STL-style interface for the signal's list of slots. ">slots()</a>. This interface supports iteration, insertion and removal of slots.</p>
213 <p>The following template arguments are used:</p><ul>
214 <li><em>T_return</em> The desired return type for the <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a> function (may be overridden by the accumulator).</li>
215 <li><em>T_arg1</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a>.</li>
216 <li><em>T_arg2</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a>.</li>
217 <li><em>T_arg3</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a>.</li>
218 <li><em>T_arg4</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a>.</li>
219 <li><em>T_accumulator</em> The accumulator type used for emission. The default <code>nil</code> means that no accumulator should be used, for example if signal emission returns the return value of the last slot invoked.</li>
221 <p>You should use the more convenient unnumbered <a class="el" href="classsigc_1_1signal.html" title="Convenience wrapper for the numbered sigc::signal# templates. ">sigc::signal</a> template. </p>
222 </div><h2 class="groupheader">Member Typedef Documentation</h2>
223 <a class="anchor" id="a3d2626edc726047c04c8fe5b9824b958"></a>
224 <div class="memitem">
225 <div class="memproto">
226 <div class="memtemplate">
227 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
228 <table class="memname">
230 <td class="memname">typedef <a class="el" href="structsigc_1_1slot__list.html#a957838a7111e132824c10c2d5a897a0b">slot_list_type::const_iterator</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html#a3d2626edc726047c04c8fe5b9824b958">const_iterator</a></td>
233 </div><div class="memdoc">
237 <a class="anchor" id="a555ce030884fdf2bde788b75db01bedf"></a>
238 <div class="memitem">
239 <div class="memproto">
240 <div class="memtemplate">
241 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
242 <table class="memname">
244 <td class="memname">typedef <a class="el" href="structsigc_1_1slot__list.html#a8293bfca54539958326f57375e4d8c14">slot_list_type::const_reverse_iterator</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html#a555ce030884fdf2bde788b75db01bedf">const_reverse_iterator</a></td>
247 </div><div class="memdoc">
251 <a class="anchor" id="acf3d1e6d6487c0ecc13ed3eab949eec7"></a>
252 <div class="memitem">
253 <div class="memproto">
254 <div class="memtemplate">
255 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
256 <table class="memname">
258 <td class="memname">typedef internal::signal_emit4<T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html#acf3d1e6d6487c0ecc13ed3eab949eec7">emitter_type</a></td>
261 </div><div class="memdoc">
265 <a class="anchor" id="a31e8354263a3097bba9c63b8494143f0"></a>
266 <div class="memitem">
267 <div class="memproto">
268 <div class="memtemplate">
269 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
270 <table class="memname">
272 <td class="memname">typedef <a class="el" href="structsigc_1_1slot__list.html#a9774e07e467d9463e6e7cc7aa2f5c05f">slot_list_type::iterator</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html#a31e8354263a3097bba9c63b8494143f0">iterator</a></td>
275 </div><div class="memdoc">
279 <a class="anchor" id="af32418ba14001a63d28af08abb7407f0"></a>
280 <div class="memitem">
281 <div class="memproto">
282 <div class="memtemplate">
283 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
284 <table class="memname">
286 <td class="memname">typedef emitter_type::result_type <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a></td>
289 </div><div class="memdoc">
293 <a class="anchor" id="a1395da7d3283b0166af135193a4047c8"></a>
294 <div class="memitem">
295 <div class="memproto">
296 <div class="memtemplate">
297 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
298 <table class="memname">
300 <td class="memname">typedef <a class="el" href="structsigc_1_1slot__list.html#addb44a7590825f917b3fcf0179fadadb">slot_list_type::reverse_iterator</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html#a1395da7d3283b0166af135193a4047c8">reverse_iterator</a></td>
303 </div><div class="memdoc">
307 <a class="anchor" id="a0ad0f56a43825c6d77d36dd2f06ef828"></a>
308 <div class="memitem">
309 <div class="memproto">
310 <div class="memtemplate">
311 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
312 <table class="memname">
314 <td class="memname">typedef <a class="el" href="structsigc_1_1slot__list.html">slot_list</a><<a class="el" href="classsigc_1_1signal4.html#ae047b85e600473c7c42a6873fef00077">slot_type</a>> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html#a0ad0f56a43825c6d77d36dd2f06ef828">slot_list_type</a></td>
317 </div><div class="memdoc">
321 <a class="anchor" id="ae047b85e600473c7c42a6873fef00077"></a>
322 <div class="memitem">
323 <div class="memproto">
324 <div class="memtemplate">
325 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
326 <table class="memname">
328 <td class="memname">typedef <a class="el" href="classsigc_1_1slot.html">slot</a><T_return, T_arg1, T_arg2, T_arg3, T_arg4> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html#ae047b85e600473c7c42a6873fef00077">slot_type</a></td>
331 </div><div class="memdoc">
335 <h2 class="groupheader">Constructor & Destructor Documentation</h2>
336 <a class="anchor" id="a2d469f516a9edac2b20d7f6cf46e821a"></a>
337 <div class="memitem">
338 <div class="memproto">
339 <div class="memtemplate">
340 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
341 <table class="mlabels">
343 <td class="mlabels-left">
344 <table class="memname">
346 <td class="memname"><a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html">signal4</a> </td>
348 <td class="paramname"></td><td>)</td>
353 <td class="mlabels-right">
354 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
357 </div><div class="memdoc">
361 <a class="anchor" id="a2d29b39c12c6c014ed7166190e9c8e22"></a>
362 <div class="memitem">
363 <div class="memproto">
364 <div class="memtemplate">
365 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
366 <table class="mlabels">
368 <td class="mlabels-left">
369 <table class="memname">
371 <td class="memname"><a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::<a class="el" href="classsigc_1_1signal4.html">signal4</a> </td>
373 <td class="paramtype">const <a class="el" href="classsigc_1_1signal4.html">signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >& </td>
374 <td class="paramname"><em>src</em></td><td>)</td>
379 <td class="mlabels-right">
380 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
383 </div><div class="memdoc">
387 <h2 class="groupheader">Member Function Documentation</h2>
388 <a class="anchor" id="a5fdb6df3cf74f5c96fb6319eef4d0a39"></a>
389 <div class="memitem">
390 <div class="memproto">
391 <div class="memtemplate">
392 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
393 <table class="mlabels">
395 <td class="mlabels-left">
396 <table class="memname">
398 <td class="memname"><a class="el" href="classsigc_1_1signal4.html#a31e8354263a3097bba9c63b8494143f0">iterator</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::connect </td>
400 <td class="paramtype">const <a class="el" href="classsigc_1_1signal4.html#ae047b85e600473c7c42a6873fef00077">slot_type</a>& </td>
401 <td class="paramname"><em>slot_</em></td><td>)</td>
406 <td class="mlabels-right">
407 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
410 </div><div class="memdoc">
412 <p>Add a slot to the list of slots. </p>
413 <p>Any functor or slot may be passed into <a class="el" href="classsigc_1_1signal4.html#a5fdb6df3cf74f5c96fb6319eef4d0a39" title="Add a slot to the list of slots. ">connect()</a>. It will be converted into a slot implicitly. The returned iterator may be stored for disconnection of the slot at some later point. It stays valid until the slot is removed from the list of slots. The iterator can also be implicitly converted into a <a class="el" href="structsigc_1_1connection.html" title="Convinience class for safe disconnection. ">sigc::connection</a> object that may be used safely beyond the life time of the slot.</p>
414 <p>std::function<> and C++11 lambda expressions are functors. These are examples of functors that can be connected to a signal.</p>
415 <p>std::bind() creates a functor, but this functor typically has an operator()() which is a variadic template. Our <a class="el" href="structsigc_1_1functor__trait.html" title="Trait that specifies the return type of any type. ">functor_trait</a> can't deduce the result type of such a functor. If you first assign the return value of std::bind() to a std::function, you can connect the std::function to a signal.</p>
416 <dl class="params"><dt>Parameters</dt><dd>
417 <table class="params">
418 <tr><td class="paramname">slot_</td><td>The slot to add to the list of slots. </td></tr>
422 <dl class="section return"><dt>Returns</dt><dd>An iterator pointing to the new slot in the list. </dd></dl>
426 <a class="anchor" id="a16d68efe8c4495877e263f424466755b"></a>
427 <div class="memitem">
428 <div class="memproto">
429 <div class="memtemplate">
430 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
431 <table class="mlabels">
433 <td class="mlabels-left">
434 <table class="memname">
436 <td class="memname"><a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::emit </td>
438 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg1 > </td>
439 <td class="paramname"><em>_A_a1</em>, </td>
442 <td class="paramkey"></td>
444 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg2 > </td>
445 <td class="paramname"><em>_A_a2</em>, </td>
448 <td class="paramkey"></td>
450 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg3 > </td>
451 <td class="paramname"><em>_A_a3</em>, </td>
454 <td class="paramkey"></td>
456 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg4 > </td>
457 <td class="paramname"><em>_A_a4</em> </td>
462 <td></td><td> const</td>
466 <td class="mlabels-right">
467 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
470 </div><div class="memdoc">
472 <p>Triggers the emission of the signal. </p>
473 <p>During signal emission all slots that have been connected to the signal are invoked unless they are manually set into a blocking state. The parameters are passed on to the slots. If <em>T_accumulated</em> is not <code>nil</code>, an accumulator of this type is used to process the return values of the slot invocations. Otherwise, the return value of the last slot invoked is returned. </p><dl class="params"><dt>Parameters</dt><dd>
474 <table class="params">
475 <tr><td class="paramname">_A_a1</td><td>Argument to be passed on to the slots. </td></tr>
476 <tr><td class="paramname">_A_a2</td><td>Argument to be passed on to the slots. </td></tr>
477 <tr><td class="paramname">_A_a3</td><td>Argument to be passed on to the slots. </td></tr>
478 <tr><td class="paramname">_A_a4</td><td>Argument to be passed on to the slots. </td></tr>
482 <dl class="section return"><dt>Returns</dt><dd>The accumulated return values of the slot invocations. </dd></dl>
486 <a class="anchor" id="ab3a5271b19f65f2066deec6f0504cfc1"></a>
487 <div class="memitem">
488 <div class="memproto">
489 <div class="memtemplate">
490 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
491 <table class="mlabels">
493 <td class="mlabels-left">
494 <table class="memname">
496 <td class="memname"><a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::emit_reverse </td>
498 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg1 > </td>
499 <td class="paramname"><em>_A_a1</em>, </td>
502 <td class="paramkey"></td>
504 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg2 > </td>
505 <td class="paramname"><em>_A_a2</em>, </td>
508 <td class="paramkey"></td>
510 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg3 > </td>
511 <td class="paramname"><em>_A_a3</em>, </td>
514 <td class="paramkey"></td>
516 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg4 > </td>
517 <td class="paramname"><em>_A_a4</em> </td>
522 <td></td><td> const</td>
526 <td class="mlabels-right">
527 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
530 </div><div class="memdoc">
532 <p>Triggers the emission of the signal in reverse order (see <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a>). </p>
536 <a class="anchor" id="ae93761723ae7257ea74ee5b0db850c7f"></a>
537 <div class="memitem">
538 <div class="memproto">
539 <div class="memtemplate">
540 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
541 <table class="mlabels">
543 <td class="mlabels-left">
544 <table class="memname">
546 <td class="memname"><a class="el" href="classsigc_1_1bound__const__mem__functor4.html">bound_const_mem_functor4</a><<a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a>, <a class="el" href="classsigc_1_1signal4.html">signal4</a>, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a><T_arg1>, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a><T_arg2>, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a><T_arg3>, <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a><T_arg4> > <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::make_slot </td>
548 <td class="paramname"></td><td>)</td>
553 <td class="mlabels-right">
554 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
557 </div><div class="memdoc">
559 <p>Creates a functor that calls <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a> on this signal. </p>
560 <div class="fragment"><div class="line"><a class="code" href="group__mem__fun.html#gadf6b6d22c503b439019f0a2e77352419">sigc::mem_fun</a>(mysignal, &<a class="code" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b">sigc::signal4::emit</a>)</div>
561 </div><!-- fragment --><p> yields the same result. </p><dl class="section return"><dt>Returns</dt><dd>A functor that calls <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a> on this signal. </dd></dl>
565 <a class="anchor" id="a7bfde7c1427ed55f3be628e467aa0cf5"></a>
566 <div class="memitem">
567 <div class="memproto">
568 <div class="memtemplate">
569 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
570 <table class="mlabels">
572 <td class="mlabels-left">
573 <table class="memname">
575 <td class="memname"><a class="el" href="classsigc_1_1signal4.html#af32418ba14001a63d28af08abb7407f0">result_type</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::operator() </td>
577 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg1 > </td>
578 <td class="paramname"><em>_A_a1</em>, </td>
581 <td class="paramkey"></td>
583 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg2 > </td>
584 <td class="paramname"><em>_A_a2</em>, </td>
587 <td class="paramkey"></td>
589 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg3 > </td>
590 <td class="paramname"><em>_A_a3</em>, </td>
593 <td class="paramkey"></td>
595 <td class="paramtype"><a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg4 > </td>
596 <td class="paramname"><em>_A_a4</em> </td>
601 <td></td><td> const</td>
605 <td class="mlabels-right">
606 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
609 </div><div class="memdoc">
611 <p>Triggers the emission of the signal (see <a class="el" href="classsigc_1_1signal4.html#a16d68efe8c4495877e263f424466755b" title="Triggers the emission of the signal. ">emit()</a>). </p>
615 <a class="anchor" id="ae490f1a6802c40a4c3b12e1580520c88"></a>
616 <div class="memitem">
617 <div class="memproto">
618 <div class="memtemplate">
619 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
620 <table class="mlabels">
622 <td class="mlabels-left">
623 <table class="memname">
625 <td class="memname"><a class="el" href="classsigc_1_1signal4.html#a0ad0f56a43825c6d77d36dd2f06ef828">slot_list_type</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::slots </td>
627 <td class="paramname"></td><td>)</td>
632 <td class="mlabels-right">
633 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
636 </div><div class="memdoc">
638 <p>Creates an STL-style interface for the signal's list of slots. </p>
639 <p>This interface supports iteration, insertion and removal of slots. </p><dl class="section return"><dt>Returns</dt><dd>An STL-style interface for the signal's list of slots. </dd></dl>
643 <a class="anchor" id="a3336c8164cb70eae8f5de655f55ed29f"></a>
644 <div class="memitem">
645 <div class="memproto">
646 <div class="memtemplate">
647 template <class T_return, class T_arg1, class T_arg2, class T_arg3, class T_arg4, class T_accumulator = nil> </div>
648 <table class="mlabels">
650 <td class="mlabels-left">
651 <table class="memname">
653 <td class="memname">const <a class="el" href="classsigc_1_1signal4.html#a0ad0f56a43825c6d77d36dd2f06ef828">slot_list_type</a> <a class="el" href="classsigc_1_1signal4.html">sigc::signal4</a>< T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_accumulator >::slots </td>
655 <td class="paramname"></td><td>)</td>
660 <td class="mlabels-right">
661 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
664 </div><div class="memdoc">
666 <p>Creates an STL-style interface for the signal's list of slots. </p>
667 <p>This interface supports iteration, insertion and removal of slots. </p><dl class="section return"><dt>Returns</dt><dd>An STL-style interface for the signal's list of slots. </dd></dl>
671 </div><!-- contents -->
672 <!-- start footer part -->
673 <hr class="footer"/><address class="footer"><small>
674 Generated on Sat Sep 26 2015 20:14:39 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
675 <img class="footer" src="doxygen.png" alt="doxygen"/>