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::slot2< T_return, T_arg1, T_arg2 > 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.9.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_1slot2.html">slot2</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_1slot2-members.html">List of all members</a> </div>
58 <div class="headertitle">
59 <div class="title">sigc::slot2< T_return, T_arg1, T_arg2 > Class Template Reference<div class="ingroups"><a class="el" href="group__sigcfunctors.html">Functors</a> » <a class="el" href="group__slot.html">Slots</a></div></div> </div>
61 <div class="contents">
63 <p>Converts an arbitrary functor to a unified type which is opaque.
64 <a href="classsigc_1_1slot2.html#details">More...</a></p>
66 <p><code>#include <sigc++/functors/slot.h></code></p>
67 <div class="dynheader">
68 Inheritance diagram for sigc::slot2< T_return, T_arg1, T_arg2 >:</div>
69 <div class="dyncontent">
70 <div class="center"><img src="classsigc_1_1slot2__inherit__graph.png" border="0" usemap="#sigc_1_1slot2_3_01T__return_00_01T__arg1_00_01T__arg2_01_4_inherit__map" alt="Inheritance graph"/></div>
71 <map name="sigc_1_1slot2_3_01T__return_00_01T__arg1_00_01T__arg2_01_4_inherit__map" id="sigc_1_1slot2_3_01T__return_00_01T__arg1_00_01T__arg2_01_4_inherit__map">
72 <area shape="rect" id="node4" href="classsigc_1_1slot_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::slot2 template. " alt="" coords="9,244,160,300"/><area shape="rect" id="node2" href="classsigc_1_1slot__base.html" title="Base type for slots. " alt="" coords="27,80,143,107"/><area shape="rect" id="node3" href="structsigc_1_1functor__base.html" title="A hint to the compiler. " alt="" coords="15,5,154,32"/></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:ae69b03a4119d61a0a521b0ad5ddaae46"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg1 > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#ae69b03a4119d61a0a521b0ad5ddaae46">arg1_type_</a></td></tr>
78 <tr class="separator:ae69b03a4119d61a0a521b0ad5ddaae46"><td class="memSeparator" colspan="2"> </td></tr>
79 <tr class="memitem:af03b1377bbfcdc742a7c00f4c2c419f7"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a>< T_arg2 > </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#af03b1377bbfcdc742a7c00f4c2c419f7">arg2_type_</a></td></tr>
80 <tr class="separator:af03b1377bbfcdc742a7c00f4c2c419f7"><td class="memSeparator" colspan="2"> </td></tr>
81 <tr class="memitem:a0bb920e3d5628c3d01a4337a2a8a97fc"><td class="memItemLeft" align="right" valign="top">typedef T_return </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#a0bb920e3d5628c3d01a4337a2a8a97fc">result_type</a></td></tr>
82 <tr class="separator:a0bb920e3d5628c3d01a4337a2a8a97fc"><td class="memSeparator" colspan="2"> </td></tr>
83 <tr class="inherit_header pub_types_classsigc_1_1slot__base"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classsigc_1_1slot__base')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classsigc_1_1slot__base.html">sigc::slot_base</a></td></tr>
84 <tr class="memitem:a7e1a0c2fe43a42187810e8997abeb341 inherit pub_types_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structsigc_1_1trackable.html#a3338954d7565534bd945290b798e13ed">trackable::func_destroy_notify</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a7e1a0c2fe43a42187810e8997abeb341">func_destroy_notify</a></td></tr>
85 <tr class="separator:a7e1a0c2fe43a42187810e8997abeb341 inherit pub_types_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
86 </table><table class="memberdecls">
87 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
88 Public Member Functions</h2></td></tr>
89 <tr class="memitem:a3f9f6cf199bbb40011eca25eb9da67c2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#a3f9f6cf199bbb40011eca25eb9da67c2">slot2</a> ()</td></tr>
90 <tr class="separator:a3f9f6cf199bbb40011eca25eb9da67c2"><td class="memSeparator" colspan="2"> </td></tr>
91 <tr class="memitem:a14641110a8fdbb060a58c037b9000730"><td class="memTemplParams" colspan="2">template<class T_functor > </td></tr>
92 <tr class="memitem:a14641110a8fdbb060a58c037b9000730"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#a14641110a8fdbb060a58c037b9000730">slot2</a> (const T_functor& _A_func)</td></tr>
93 <tr class="memdesc:a14641110a8fdbb060a58c037b9000730"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a slot from an arbitrary functor. <a href="#a14641110a8fdbb060a58c037b9000730">More...</a><br /></td></tr>
94 <tr class="separator:a14641110a8fdbb060a58c037b9000730"><td class="memSeparator" colspan="2"> </td></tr>
95 <tr class="memitem:a868deef9d947dfa4fcbb0cfe64cbd42e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#a868deef9d947dfa4fcbb0cfe64cbd42e">slot2</a> (const <a class="el" href="classsigc_1_1slot2.html">slot2</a>& src)</td></tr>
96 <tr class="memdesc:a868deef9d947dfa4fcbb0cfe64cbd42e"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a slot, copying an existing one. <a href="#a868deef9d947dfa4fcbb0cfe64cbd42e">More...</a><br /></td></tr>
97 <tr class="separator:a868deef9d947dfa4fcbb0cfe64cbd42e"><td class="memSeparator" colspan="2"> </td></tr>
98 <tr class="memitem:a4719ba9494f87e682b6a6d04b02413e7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#a4719ba9494f87e682b6a6d04b02413e7">slot2</a> (<a class="el" href="classsigc_1_1slot2.html">slot2</a>&& src)</td></tr>
99 <tr class="memdesc:a4719ba9494f87e682b6a6d04b02413e7"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a slot, moving an existing one. <a href="#a4719ba9494f87e682b6a6d04b02413e7">More...</a><br /></td></tr>
100 <tr class="separator:a4719ba9494f87e682b6a6d04b02413e7"><td class="memSeparator" colspan="2"> </td></tr>
101 <tr class="memitem:abae441b7fdd6dd5850a4283d95b9e647"><td class="memItemLeft" align="right" valign="top">T_return </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#abae441b7fdd6dd5850a4283d95b9e647">operator()</a> (<a class="el" href="classsigc_1_1slot2.html#ae69b03a4119d61a0a521b0ad5ddaae46">arg1_type_</a> _A_a1, <a class="el" href="classsigc_1_1slot2.html#af03b1377bbfcdc742a7c00f4c2c419f7">arg2_type_</a> _A_a2) const </td></tr>
102 <tr class="memdesc:abae441b7fdd6dd5850a4283d95b9e647"><td class="mdescLeft"> </td><td class="mdescRight">Invoke the contained functor unless slot is in blocking state. <a href="#abae441b7fdd6dd5850a4283d95b9e647">More...</a><br /></td></tr>
103 <tr class="separator:abae441b7fdd6dd5850a4283d95b9e647"><td class="memSeparator" colspan="2"> </td></tr>
104 <tr class="memitem:a6b3d5de4d2e7a6134cc883b98380caa7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1slot2.html">slot2</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#a6b3d5de4d2e7a6134cc883b98380caa7">operator=</a> (const <a class="el" href="classsigc_1_1slot2.html">slot2</a>& src)</td></tr>
105 <tr class="memdesc:a6b3d5de4d2e7a6134cc883b98380caa7"><td class="mdescLeft"> </td><td class="mdescRight">Overrides this slot, making a copy from another slot. <a href="#a6b3d5de4d2e7a6134cc883b98380caa7">More...</a><br /></td></tr>
106 <tr class="separator:a6b3d5de4d2e7a6134cc883b98380caa7"><td class="memSeparator" colspan="2"> </td></tr>
107 <tr class="memitem:aeda5a84c674376aa0800a0bf876bb5fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1slot2.html">slot2</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot2.html#aeda5a84c674376aa0800a0bf876bb5fa">operator=</a> (<a class="el" href="classsigc_1_1slot2.html">slot2</a>&& src)</td></tr>
108 <tr class="memdesc:aeda5a84c674376aa0800a0bf876bb5fa"><td class="mdescLeft"> </td><td class="mdescRight">Overrides this slot, making a move from another slot. <a href="#aeda5a84c674376aa0800a0bf876bb5fa">More...</a><br /></td></tr>
109 <tr class="separator:aeda5a84c674376aa0800a0bf876bb5fa"><td class="memSeparator" colspan="2"> </td></tr>
110 <tr class="inherit_header pub_methods_classsigc_1_1slot__base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classsigc_1_1slot__base')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classsigc_1_1slot__base.html">sigc::slot_base</a></td></tr>
111 <tr class="memitem:a182d5db71ef371838c73bcf1c135cd9a inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a182d5db71ef371838c73bcf1c135cd9a">slot_base</a> () noexcept</td></tr>
112 <tr class="memdesc:a182d5db71ef371838c73bcf1c135cd9a inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Constructs an empty slot. <a href="#a182d5db71ef371838c73bcf1c135cd9a">More...</a><br /></td></tr>
113 <tr class="separator:a182d5db71ef371838c73bcf1c135cd9a inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
114 <tr class="memitem:a5fbc2bf38a0d9ebcbe13d578d2b3d5a1 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a5fbc2bf38a0d9ebcbe13d578d2b3d5a1">slot_base</a> (rep_type* rep) noexcept</td></tr>
115 <tr class="memdesc:a5fbc2bf38a0d9ebcbe13d578d2b3d5a1 inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a slot from an existing slot_rep object. <a href="#a5fbc2bf38a0d9ebcbe13d578d2b3d5a1">More...</a><br /></td></tr>
116 <tr class="separator:a5fbc2bf38a0d9ebcbe13d578d2b3d5a1 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
117 <tr class="memitem:aadcbb54832b5207bddf89ac5433b531a inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#aadcbb54832b5207bddf89ac5433b531a">slot_base</a> (const <a class="el" href="classsigc_1_1slot__base.html">slot_base</a>& src)</td></tr>
118 <tr class="memdesc:aadcbb54832b5207bddf89ac5433b531a inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a slot, copying an existing one. <a href="#aadcbb54832b5207bddf89ac5433b531a">More...</a><br /></td></tr>
119 <tr class="separator:aadcbb54832b5207bddf89ac5433b531a inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
120 <tr class="memitem:ad1fee67a5885e424c275ad0f48fc81b1 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#ad1fee67a5885e424c275ad0f48fc81b1">slot_base</a> (<a class="el" href="classsigc_1_1slot__base.html">slot_base</a>&& src)</td></tr>
121 <tr class="memdesc:ad1fee67a5885e424c275ad0f48fc81b1 inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a slot, moving an existing one. <a href="#ad1fee67a5885e424c275ad0f48fc81b1">More...</a><br /></td></tr>
122 <tr class="separator:ad1fee67a5885e424c275ad0f48fc81b1 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
123 <tr class="memitem:a75c18c50860f63fb020fc2953576ea57 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a75c18c50860f63fb020fc2953576ea57">~slot_base</a> ()</td></tr>
124 <tr class="separator:a75c18c50860f63fb020fc2953576ea57 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
125 <tr class="memitem:afb626f3bce53c7430ee4b5e00449837e inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#afb626f3bce53c7430ee4b5e00449837e">add_destroy_notify_callback</a> (void* data, <a class="el" href="classsigc_1_1slot__base.html#a7e1a0c2fe43a42187810e8997abeb341">func_destroy_notify</a> func) const </td></tr>
126 <tr class="memdesc:afb626f3bce53c7430ee4b5e00449837e inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Add a callback that is executed (notified) when the slot is detroyed. <a href="#afb626f3bce53c7430ee4b5e00449837e">More...</a><br /></td></tr>
127 <tr class="separator:afb626f3bce53c7430ee4b5e00449837e inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
128 <tr class="memitem:a657a8473164c963a5ca4828c88121bb9 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a657a8473164c963a5ca4828c88121bb9">block</a> (bool should_block=true) noexcept</td></tr>
129 <tr class="memdesc:a657a8473164c963a5ca4828c88121bb9 inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Sets the blocking state. <a href="#a657a8473164c963a5ca4828c88121bb9">More...</a><br /></td></tr>
130 <tr class="separator:a657a8473164c963a5ca4828c88121bb9 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
131 <tr class="memitem:a2f266b6147c4a6bbc5b68994d2dc1517 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a2f266b6147c4a6bbc5b68994d2dc1517">blocked</a> () const noexcept</td></tr>
132 <tr class="memdesc:a2f266b6147c4a6bbc5b68994d2dc1517 inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the slot is blocked. <a href="#a2f266b6147c4a6bbc5b68994d2dc1517">More...</a><br /></td></tr>
133 <tr class="separator:a2f266b6147c4a6bbc5b68994d2dc1517 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
134 <tr class="memitem:a4042d221f7f07a7394d2eb0f14db2857 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a4042d221f7f07a7394d2eb0f14db2857">disconnect</a> ()</td></tr>
135 <tr class="memdesc:a4042d221f7f07a7394d2eb0f14db2857 inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects the slot. <a href="#a4042d221f7f07a7394d2eb0f14db2857">More...</a><br /></td></tr>
136 <tr class="separator:a4042d221f7f07a7394d2eb0f14db2857 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
137 <tr class="memitem:ae6ac6ca962a1f6a7506d0817165b5cef inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#ae6ac6ca962a1f6a7506d0817165b5cef">empty</a> () const noexcept</td></tr>
138 <tr class="memdesc:ae6ac6ca962a1f6a7506d0817165b5cef inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the slot is invalid. <a href="#ae6ac6ca962a1f6a7506d0817165b5cef">More...</a><br /></td></tr>
139 <tr class="separator:ae6ac6ca962a1f6a7506d0817165b5cef inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
140 <tr class="memitem:a90d4d7d6037973a94d7dfd7ba9a5feb9 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a90d4d7d6037973a94d7dfd7ba9a5feb9">operator bool</a> () const noexcept</td></tr>
141 <tr class="memdesc:a90d4d7d6037973a94d7dfd7ba9a5feb9 inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Tests whether a slot is null, because the default constructor was used. <a href="#a90d4d7d6037973a94d7dfd7ba9a5feb9">More...</a><br /></td></tr>
142 <tr class="separator:a90d4d7d6037973a94d7dfd7ba9a5feb9 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
143 <tr class="memitem:a19522528264f1646f8ed982b0042ffad inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1slot__base.html">slot_base</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a19522528264f1646f8ed982b0042ffad">operator=</a> (const <a class="el" href="classsigc_1_1slot__base.html">slot_base</a>& src)</td></tr>
144 <tr class="memdesc:a19522528264f1646f8ed982b0042ffad inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Overrides this slot, making a copy from another slot. <a href="#a19522528264f1646f8ed982b0042ffad">More...</a><br /></td></tr>
145 <tr class="separator:a19522528264f1646f8ed982b0042ffad inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
146 <tr class="memitem:a64e36f28ee61a94c0496fe76f6b3e813 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsigc_1_1slot__base.html">slot_base</a>& </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a64e36f28ee61a94c0496fe76f6b3e813">operator=</a> (<a class="el" href="classsigc_1_1slot__base.html">slot_base</a>&& src)</td></tr>
147 <tr class="memdesc:a64e36f28ee61a94c0496fe76f6b3e813 inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Overrides this slot, making a move from another slot. <a href="#a64e36f28ee61a94c0496fe76f6b3e813">More...</a><br /></td></tr>
148 <tr class="separator:a64e36f28ee61a94c0496fe76f6b3e813 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
149 <tr class="memitem:a6374e1400eef020eab09dfdbdc563912 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a6374e1400eef020eab09dfdbdc563912">remove_destroy_notify_callback</a> (void* data) const </td></tr>
150 <tr class="memdesc:a6374e1400eef020eab09dfdbdc563912 inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Remove a callback previously installed with <a class="el" href="classsigc_1_1slot__base.html#afb626f3bce53c7430ee4b5e00449837e" title="Add a callback that is executed (notified) when the slot is detroyed. ">add_destroy_notify_callback()</a>. <a href="#a6374e1400eef020eab09dfdbdc563912">More...</a><br /></td></tr>
151 <tr class="separator:a6374e1400eef020eab09dfdbdc563912 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
152 <tr class="memitem:aa7d281de451d5f47923f4ff1c5b7f2c9 inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#aa7d281de451d5f47923f4ff1c5b7f2c9">set_parent</a> (void* parent, void*(* cleanup)(void*)) const noexcept</td></tr>
153 <tr class="memdesc:aa7d281de451d5f47923f4ff1c5b7f2c9 inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Sets the parent of this slot. <a href="#aa7d281de451d5f47923f4ff1c5b7f2c9">More...</a><br /></td></tr>
154 <tr class="separator:aa7d281de451d5f47923f4ff1c5b7f2c9 inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
155 <tr class="memitem:a25ad0bd4d2cea4dbfcd09f7d393d266d inherit pub_methods_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a25ad0bd4d2cea4dbfcd09f7d393d266d">unblock</a> () noexcept</td></tr>
156 <tr class="memdesc:a25ad0bd4d2cea4dbfcd09f7d393d266d inherit pub_methods_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Unsets the blocking state. <a href="#a25ad0bd4d2cea4dbfcd09f7d393d266d">More...</a><br /></td></tr>
157 <tr class="separator:a25ad0bd4d2cea4dbfcd09f7d393d266d inherit pub_methods_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
158 </table><table class="memberdecls">
159 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
160 Additional Inherited Members</h2></td></tr>
161 <tr class="inherit_header pub_attribs_classsigc_1_1slot__base"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classsigc_1_1slot__base')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="classsigc_1_1slot__base.html">sigc::slot_base</a></td></tr>
162 <tr class="memitem:a9dc4958860c0f8300b461a743b7f2a2b inherit pub_attribs_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#a9dc4958860c0f8300b461a743b7f2a2b">blocked_</a></td></tr>
163 <tr class="memdesc:a9dc4958860c0f8300b461a743b7f2a2b inherit pub_attribs_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Indicates whether the slot is blocked. <a href="#a9dc4958860c0f8300b461a743b7f2a2b">More...</a><br /></td></tr>
164 <tr class="separator:a9dc4958860c0f8300b461a743b7f2a2b inherit pub_attribs_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
165 <tr class="memitem:aa482f7dfc73c6950abde0fd51b3125b5 inherit pub_attribs_classsigc_1_1slot__base"><td class="memItemLeft" align="right" valign="top">rep_type* </td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1slot__base.html#aa482f7dfc73c6950abde0fd51b3125b5">rep_</a></td></tr>
166 <tr class="memdesc:aa482f7dfc73c6950abde0fd51b3125b5 inherit pub_attribs_classsigc_1_1slot__base"><td class="mdescLeft"> </td><td class="mdescRight">Typed slot_rep object that contains a functor. <a href="#aa482f7dfc73c6950abde0fd51b3125b5">More...</a><br /></td></tr>
167 <tr class="separator:aa482f7dfc73c6950abde0fd51b3125b5 inherit pub_attribs_classsigc_1_1slot__base"><td class="memSeparator" colspan="2"> </td></tr>
169 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
170 <div class="textblock"><h3>template<class T_return, class T_arg1, class T_arg2><br />
171 class sigc::slot2< T_return, T_arg1, T_arg2 ></h3>
173 <p>Converts an arbitrary functor to a unified type which is opaque. </p>
174 <p><a class="el" href="classsigc_1_1slot.html" title="Convenience wrapper for the numbered sigc::slot# templates. ">sigc::slot</a> itself is a functor or to be more precise a closure. It contains a single, arbitrary functor (or closure) that is executed in <a class="el" href="classsigc_1_1slot2.html#abae441b7fdd6dd5850a4283d95b9e647" title="Invoke the contained functor unless slot is in blocking state. ">operator()()</a>.</p>
175 <p>The template arguments determine the function signature of <a class="el" href="classsigc_1_1slot2.html#abae441b7fdd6dd5850a4283d95b9e647" title="Invoke the contained functor unless slot is in blocking state. ">operator()()</a>:</p><ul>
176 <li><em>T_return</em> The return type of <a class="el" href="classsigc_1_1slot2.html#abae441b7fdd6dd5850a4283d95b9e647" title="Invoke the contained functor unless slot is in blocking state. ">operator()()</a>.</li>
177 <li><em>T_arg1</em> Argument type used in the definition of <a class="el" href="classsigc_1_1slot2.html#abae441b7fdd6dd5850a4283d95b9e647" title="Invoke the contained functor unless slot is in blocking state. ">operator()()</a>. The default <code>nil</code> means no argument.</li>
178 <li><em>T_arg2</em> Argument type used in the definition of <a class="el" href="classsigc_1_1slot2.html#abae441b7fdd6dd5850a4283d95b9e647" title="Invoke the contained functor unless slot is in blocking state. ">operator()()</a>. The default <code>nil</code> means no argument.</li>
180 <p>To use simply assign the desired functor to the slot. If the functor is not compatible with the parameter list defined with the template arguments compiler errors are triggered. When called the slot will invoke the functor with minimal copies. <a class="el" href="classsigc_1_1slot__base.html#a657a8473164c963a5ca4828c88121bb9" title="Sets the blocking state. ">block()</a> and <a class="el" href="classsigc_1_1slot__base.html#a25ad0bd4d2cea4dbfcd09f7d393d266d" title="Unsets the blocking state. ">unblock()</a> can be used to block the functor's invocation from <a class="el" href="classsigc_1_1slot2.html#abae441b7fdd6dd5850a4283d95b9e647" title="Invoke the contained functor unless slot is in blocking state. ">operator()()</a> temporarily.</p>
181 <p>You should use the more convenient unnumbered <a class="el" href="classsigc_1_1slot.html" title="Convenience wrapper for the numbered sigc::slot# templates. ">sigc::slot</a> template. </p>
182 </div><h2 class="groupheader">Member Typedef Documentation</h2>
183 <a class="anchor" id="ae69b03a4119d61a0a521b0ad5ddaae46"></a>
184 <div class="memitem">
185 <div class="memproto">
186 <div class="memtemplate">
187 template <class T_return , class T_arg1 , class T_arg2 > </div>
188 <table class="memname">
190 <td class="memname">typedef <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a><T_arg1> <a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::<a class="el" href="classsigc_1_1slot2.html#ae69b03a4119d61a0a521b0ad5ddaae46">arg1_type_</a></td>
193 </div><div class="memdoc">
197 <a class="anchor" id="af03b1377bbfcdc742a7c00f4c2c419f7"></a>
198 <div class="memitem">
199 <div class="memproto">
200 <div class="memtemplate">
201 template <class T_return , class T_arg1 , class T_arg2 > </div>
202 <table class="memname">
204 <td class="memname">typedef <a class="el" href="namespacesigc.html#aa0d56c61023af35c47b79db80b32fd2e">type_trait_take_t</a><T_arg2> <a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::<a class="el" href="classsigc_1_1slot2.html#af03b1377bbfcdc742a7c00f4c2c419f7">arg2_type_</a></td>
207 </div><div class="memdoc">
211 <a class="anchor" id="a0bb920e3d5628c3d01a4337a2a8a97fc"></a>
212 <div class="memitem">
213 <div class="memproto">
214 <div class="memtemplate">
215 template <class T_return , class T_arg1 , class T_arg2 > </div>
216 <table class="memname">
218 <td class="memname">typedef T_return <a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::<a class="el" href="classsigc_1_1slot2.html#a0bb920e3d5628c3d01a4337a2a8a97fc">result_type</a></td>
221 </div><div class="memdoc">
225 <h2 class="groupheader">Constructor & Destructor Documentation</h2>
226 <a class="anchor" id="a3f9f6cf199bbb40011eca25eb9da67c2"></a>
227 <div class="memitem">
228 <div class="memproto">
229 <div class="memtemplate">
230 template <class T_return , class T_arg1 , class T_arg2 > </div>
231 <table class="mlabels">
233 <td class="mlabels-left">
234 <table class="memname">
236 <td class="memname"><a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::<a class="el" href="classsigc_1_1slot2.html">slot2</a> </td>
238 <td class="paramname"></td><td>)</td>
243 <td class="mlabels-right">
244 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
247 </div><div class="memdoc">
251 <a class="anchor" id="a14641110a8fdbb060a58c037b9000730"></a>
252 <div class="memitem">
253 <div class="memproto">
254 <div class="memtemplate">
255 template <class T_return , class T_arg1 , class T_arg2 > </div>
256 <div class="memtemplate">
257 template <class T_functor > </div>
258 <table class="mlabels">
260 <td class="mlabels-left">
261 <table class="memname">
263 <td class="memname"><a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::<a class="el" href="classsigc_1_1slot2.html">slot2</a> </td>
265 <td class="paramtype">const T_functor & </td>
266 <td class="paramname"><em>_A_func</em></td><td>)</td>
271 <td class="mlabels-right">
272 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
275 </div><div class="memdoc">
277 <p>Constructs a slot from an arbitrary functor. </p>
278 <dl class="params"><dt>Parameters</dt><dd>
279 <table class="params">
280 <tr><td class="paramname">_A_func</td><td>The desired functor the new slot should be assigned to. </td></tr>
287 <a class="anchor" id="a868deef9d947dfa4fcbb0cfe64cbd42e"></a>
288 <div class="memitem">
289 <div class="memproto">
290 <div class="memtemplate">
291 template <class T_return , class T_arg1 , class T_arg2 > </div>
292 <table class="mlabels">
294 <td class="mlabels-left">
295 <table class="memname">
297 <td class="memname"><a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::<a class="el" href="classsigc_1_1slot2.html">slot2</a> </td>
299 <td class="paramtype">const <a class="el" href="classsigc_1_1slot2.html">slot2</a>< T_return, T_arg1, T_arg2 >& </td>
300 <td class="paramname"><em>src</em></td><td>)</td>
305 <td class="mlabels-right">
306 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
309 </div><div class="memdoc">
311 <p>Constructs a slot, copying an existing one. </p>
312 <dl class="params"><dt>Parameters</dt><dd>
313 <table class="params">
314 <tr><td class="paramname">src</td><td>The existing slot to copy. </td></tr>
321 <a class="anchor" id="a4719ba9494f87e682b6a6d04b02413e7"></a>
322 <div class="memitem">
323 <div class="memproto">
324 <div class="memtemplate">
325 template <class T_return , class T_arg1 , class T_arg2 > </div>
326 <table class="mlabels">
328 <td class="mlabels-left">
329 <table class="memname">
331 <td class="memname"><a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::<a class="el" href="classsigc_1_1slot2.html">slot2</a> </td>
333 <td class="paramtype"><a class="el" href="classsigc_1_1slot2.html">slot2</a>< T_return, T_arg1, T_arg2 >&& </td>
334 <td class="paramname"><em>src</em></td><td>)</td>
339 <td class="mlabels-right">
340 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
343 </div><div class="memdoc">
345 <p>Constructs a slot, moving an existing one. </p>
346 <p>If <code>src</code> is connected to a parent (e.g. a signal), it is copied, not moved. </p><dl class="params"><dt>Parameters</dt><dd>
347 <table class="params">
348 <tr><td class="paramname">src</td><td>The existing slot to move or copy. </td></tr>
355 <h2 class="groupheader">Member Function Documentation</h2>
356 <a class="anchor" id="abae441b7fdd6dd5850a4283d95b9e647"></a>
357 <div class="memitem">
358 <div class="memproto">
359 <div class="memtemplate">
360 template <class T_return , class T_arg1 , class T_arg2 > </div>
361 <table class="mlabels">
363 <td class="mlabels-left">
364 <table class="memname">
366 <td class="memname">T_return <a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::operator() </td>
368 <td class="paramtype"><a class="el" href="classsigc_1_1slot2.html#ae69b03a4119d61a0a521b0ad5ddaae46">arg1_type_</a> </td>
369 <td class="paramname"><em>_A_a1</em>, </td>
372 <td class="paramkey"></td>
374 <td class="paramtype"><a class="el" href="classsigc_1_1slot2.html#af03b1377bbfcdc742a7c00f4c2c419f7">arg2_type_</a> </td>
375 <td class="paramname"><em>_A_a2</em> </td>
380 <td></td><td> const</td>
384 <td class="mlabels-right">
385 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
388 </div><div class="memdoc">
390 <p>Invoke the contained functor unless slot is in blocking state. </p>
391 <dl class="params"><dt>Parameters</dt><dd>
392 <table class="params">
393 <tr><td class="paramname">_A_a1</td><td>Argument to be passed on to the functor. </td></tr>
394 <tr><td class="paramname">_A_a2</td><td>Argument to be passed on to the functor. </td></tr>
398 <dl class="section return"><dt>Returns</dt><dd>The return value of the functor invocation. </dd></dl>
402 <a class="anchor" id="a6b3d5de4d2e7a6134cc883b98380caa7"></a>
403 <div class="memitem">
404 <div class="memproto">
405 <div class="memtemplate">
406 template <class T_return , class T_arg1 , class T_arg2 > </div>
407 <table class="mlabels">
409 <td class="mlabels-left">
410 <table class="memname">
412 <td class="memname"><a class="el" href="classsigc_1_1slot2.html">slot2</a>& <a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::operator= </td>
414 <td class="paramtype">const <a class="el" href="classsigc_1_1slot2.html">slot2</a>< T_return, T_arg1, T_arg2 >& </td>
415 <td class="paramname"><em>src</em></td><td>)</td>
420 <td class="mlabels-right">
421 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
424 </div><div class="memdoc">
426 <p>Overrides this slot, making a copy from another slot. </p>
427 <dl class="params"><dt>Parameters</dt><dd>
428 <table class="params">
429 <tr><td class="paramname">src</td><td>The slot from which to make a copy. </td></tr>
433 <dl class="section return"><dt>Returns</dt><dd><code>this</code>. </dd></dl>
437 <a class="anchor" id="aeda5a84c674376aa0800a0bf876bb5fa"></a>
438 <div class="memitem">
439 <div class="memproto">
440 <div class="memtemplate">
441 template <class T_return , class T_arg1 , class T_arg2 > </div>
442 <table class="mlabels">
444 <td class="mlabels-left">
445 <table class="memname">
447 <td class="memname"><a class="el" href="classsigc_1_1slot2.html">slot2</a>& <a class="el" href="classsigc_1_1slot2.html">sigc::slot2</a>< T_return, T_arg1, T_arg2 >::operator= </td>
449 <td class="paramtype"><a class="el" href="classsigc_1_1slot2.html">slot2</a>< T_return, T_arg1, T_arg2 >&& </td>
450 <td class="paramname"><em>src</em></td><td>)</td>
455 <td class="mlabels-right">
456 <span class="mlabels"><span class="mlabel">inline</span></span> </td>
459 </div><div class="memdoc">
461 <p>Overrides this slot, making a move from another slot. </p>
462 <p>If <code>src</code> is connected to a parent (e.g. a signal), it is copied, not moved. </p><dl class="params"><dt>Parameters</dt><dd>
463 <table class="params">
464 <tr><td class="paramname">src</td><td>The slot from which to move or copy. </td></tr>
468 <dl class="section return"><dt>Returns</dt><dd><code>this</code>. </dd></dl>
472 </div><!-- contents -->
473 <!-- start footer part -->
474 <hr class="footer"/><address class="footer"><small>
475 Generated on Wed Mar 16 2016 13:54:33 for libsigc++ by  <a href="http://www.doxygen.org/index.html">
476 <img class="footer" src="doxygen.png" alt="doxygen"/>