File: classsigc_1_1signal.html

package info (click to toggle)
libsigc%2B%2B-2.0 2.0.10-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 20,220 kB
  • ctags: 6,376
  • sloc: sh: 8,402; cpp: 1,717; xml: 368; makefile: 364; perl: 51; ansic: 45
file content (132 lines) | stat: -rw-r--r-- 9,172 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>libsigc++ 2.0: sigc::signal&lt; T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#ffffff">
<table border="0" width="100%">
<tr>
    <td width="10%" height="40"><img src="../../images/libsigc_logo.gif" alt="logo" border="0" width="100%" height="100%"/></td>
    <td width="90%" height="40"><img src="../../images/top.gif" alt="top" width="100%" height="40"/></td>
</tr>
</table>
<center>
  <a class="qindex" href="../../index.html">Main Page</a> &nbsp;
  <a class="qindex" href="modules.html">Groups</a> &nbsp;
  <a class="qindex" href="namespaces.html"> Namespaces</a> &nbsp;
</center>
<hr width="100%"/>

<!-- Generated by Doxygen 1.3.9.1 -->
<h1>sigc::signal&lt; T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 &gt; Class Template Reference<br>
<small>
[<a class="el" href="group__signal.html">Signals</a>]</small>
</h1>Convenience wrapper for the numbered sigc::signal# templates.  
<a href="#_details">More...</a>
<p>
Inheritance diagram for sigc::signal&lt; T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 &gt;:<p><center><img src="classsigc_1_1signal__inherit__graph.png" border="0" usemap="#sigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01T__arg7_01_4__inherit__map" alt="Inheritance graph"></center>
<map name="sigc_1_1signal_3_01T__return_00_01T__arg1_00_01T__arg2_00_01T__arg3_00_01T__arg4_00_01T__arg5_00_01T__arg6_00_01T__arg7_01_4__inherit__map">
<area href="classsigc_1_1signal7.html" shape="rect" coords="7,158,541,182" alt="">
<area href="structsigc_1_1signal__base.html" shape="rect" coords="213,84,335,108" alt="">
<area href="structsigc_1_1trackable.html" shape="rect" coords="221,9,327,33" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classsigc_1_1signal-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal.html#a0">signal</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsigc_1_1signal.html#a1">signal</a> (const <a class="el" href="classsigc_1_1signal.html">signal</a>&amp; src)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template &lt;class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil&gt;<br>
 class sigc::signal&lt; T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7 &gt;</h3>

Convenience wrapper for the numbered sigc::signal# templates. 
<p>
signal can be used to <a class="el" href="classsigc_1_1signal7.html#a0">connect()</a> slots that are invoked during subsequent calls to <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a>. Any functor or slot can be passed into <a class="el" href="classsigc_1_1signal7.html#a0">connect()</a>. It is converted into a slot implicitly.<p>
If you want to connect one signal to another, use <a class="el" href="classsigc_1_1signal7.html#a3">make_slot()</a> to retrieve a functor that emits the signal when invoked.<p>
Be careful if you directly pass one signal into the <a class="el" href="classsigc_1_1signal7.html#a0">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>
An STL-style list interface for the signal's list of slots can be retrieved with <a class="el" href="classsigc_1_1signal7.html#a4">slots()</a>. This interface supports iteration, insertion and removal of slots.<p>
The template arguments determine the function signature of the <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a> function:<ul>
<li><em>T_return</em> The desired return type of the <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a> function.</li><li><em>T_arg1</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a>. The default <code>nil</code> means no argument.</li><li><em>T_arg2</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a>. The default <code>nil</code> means no argument.</li><li><em>T_arg3</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a>. The default <code>nil</code> means no argument.</li><li><em>T_arg4</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a>. The default <code>nil</code> means no argument.</li><li><em>T_arg5</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a>. The default <code>nil</code> means no argument.</li><li><em>T_arg6</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a>. The default <code>nil</code> means no argument.</li><li><em>T_arg7</em> Argument type used in the definition of <a class="el" href="classsigc_1_1signal7.html#a1">emit()</a>. The default <code>nil</code> means no argument.</li></ul>
<p>
To specify an accumulator type the nested class <a class="el" href="classsigc_1_1signal_1_1accumulated.html">signal::accumulated</a> can be used.<p>
<dl compact><dt><b>Example:</b></dt><dd><div class="fragment"><pre class="fragment">   <span class="keywordtype">void</span> foo(<span class="keywordtype">int</span>) {}
   <a class="code" href="classsigc_1_1signal.html">sigc::signal&lt;void, long&gt;</a> sig;
   sig.<a class="code" href="classsigc_1_1signal7.html#a0">connect</a>(sigc::ptr_fun(&amp;foo));
   sig.<a class="code" href="classsigc_1_1signal7.html#a1">emit</a>(19);
</pre></div></dd></dl>

<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="sigc::signal::signal"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template &lt;class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classsigc_1_1signal.html">sigc::signal</a>&lt;T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7&gt;::<a class="el" href="classsigc_1_1signal.html">signal</a>           </td>
          <td class="md" valign="top">(</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="sigc::signal::signal"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template &lt;class T_return, class T_arg1 = nil, class T_arg2 = nil, class T_arg3 = nil, class T_arg4 = nil, class T_arg5 = nil, class T_arg6 = nil, class T_arg7 = nil&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"><a class="el" href="classsigc_1_1signal.html">sigc::signal</a>&lt;T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7&gt;::<a class="el" href="classsigc_1_1signal.html">signal</a>           </td>
          <td class="md" valign="top">(</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classsigc_1_1signal.html">signal</a>&lt;T_return, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7&gt;&amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>src</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="signal_8h.html">signal.h</a></ul>
<hr><address><small>
Generated for libsigc++ 2.0 by <a href="http://www.doxygen.org/index.html">
Doxygen</a> 1.3.9.1 &copy;&nbsp;1997-2001</small></address>
</body>
</html>