Imported Upstream version 1.64.0
[platform/upstream/boost.git] / doc / html / boost / signals / connection.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5 <title>Class connection</title>
6 <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
7 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
8 <link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
9 <link rel="up" href="../../signals/reference.html#header.boost.signals.connection_hpp" title="Header &lt;boost/signals/connection.hpp&gt;">
10 <link rel="prev" href="trackable.html" title="Class trackable">
11 <link rel="next" href="scoped_connection.html" title="Class scoped_connection">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table cellpadding="2" width="100%"><tr>
15 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
16 <td align="center"><a href="../../../../index.html">Home</a></td>
17 <td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
18 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
19 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
20 <td align="center"><a href="../../../../more/index.htm">More</a></td>
21 </tr></table>
22 <hr>
23 <div class="spirit-nav">
24 <a accesskey="p" href="trackable.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../signals/reference.html#header.boost.signals.connection_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="scoped_connection.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
25 </div>
26 <div class="refentry">
27 <a name="boost.signals.connection"></a><div class="titlepage"></div>
28 <div class="refnamediv">
29 <h2><span class="refentrytitle">Class connection</span></h2>
30 <p>boost::signals::connection &#8212; Query/disconnect a signal-slot connection.</p>
31 </div>
32 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
33 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../signals/reference.html#header.boost.signals.connection_hpp" title="Header &lt;boost/signals/connection.hpp&gt;">boost/signals/connection.hpp</a>&gt;
34
35 </span>
36 <span class="keyword">class</span> <a class="link" href="connection.html" title="Class connection">connection</a> <span class="special">{</span>
37 <span class="keyword">public</span><span class="special">:</span>
38   <span class="comment">// <a class="link" href="connection.html#boost.signals.connectionconstruct-copy-destruct">construct/copy/destruct</a></span>
39   <a class="link" href="connection.html#idp718825488-bb"><span class="identifier">connection</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
40   <a class="link" href="connection.html#idp718828736-bb"><span class="identifier">connection</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
41   connection&amp; <a class="link" href="connection.html#idp718833280-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
42
43   <span class="comment">// <a class="link" href="connection.html#idp718837824-bb">connection management</a></span>
44   <span class="keyword">void</span> <a class="link" href="connection.html#idp718838384-bb"><span class="identifier">disconnect</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
45   <span class="keyword">bool</span> <a class="link" href="connection.html#idp718843248-bb"><span class="identifier">connected</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
46
47   <span class="comment">// <a class="link" href="connection.html#idp718847376-bb">blocking</a></span>
48   <span class="keyword">void</span> <a class="link" href="connection.html#idp718847936-bb"><span class="identifier">block</span></a><span class="special">(</span><span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span>
49   <span class="keyword">void</span> <a class="link" href="connection.html#idp718852720-bb"><span class="identifier">unblock</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
50   <span class="keyword">bool</span> <a class="link" href="connection.html#idp718855872-bb"><span class="identifier">blocked</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
51
52   <span class="comment">// <a class="link" href="connection.html#idp718859408-bb">modifiers</a></span>
53   <span class="keyword">void</span> <a class="link" href="connection.html#idp718859968-bb"><span class="identifier">swap</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
54
55   <span class="comment">// <a class="link" href="connection.html#idp718865536-bb">comparisons</a></span>
56   <span class="keyword">bool</span> <a class="link" href="connection.html#idp718866096-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
57   <span class="keyword">bool</span> <a class="link" href="connection.html#idp718873104-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
58 <span class="special">}</span><span class="special">;</span>
59
60 <span class="comment">// <a class="link" href="connection.html#idp718880336-bb">specialized algorithms</a></span>
61 <span class="keyword">void</span> <a class="link" href="connection.html#boost.signals.connection.swap_idp718880896"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">,</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></div>
62 <div class="refsect1">
63 <a name="idp520998960"></a><h2>Description</h2>
64 <p>The <a class="link" href="connection.html" title="Class connection">connection</a> class represents
65           a connection between a Signal and a Slot. It is a
66           lightweight object that has the ability to query whether the
67           signal and slot are currently connected, and to disconnect
68           the signal and slot. It is always safe to query or
69           disconnect a connection.</p>
70 <div class="refsect2">
71 <a name="idp521001088"></a><h3>
72 <a name="boost.signals.connectionconstruct-copy-destruct"></a><code class="computeroutput">connection</code> 
73         public
74        construct/copy/destruct</h3>
75 <div class="orderedlist"><ol class="orderedlist" type="1">
76 <li class="listitem">
77 <pre class="literallayout"><a name="idp718825488-bb"></a><span class="identifier">connection</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
78 <div class="variablelist"><table border="0" class="variablelist compact">
79 <colgroup>
80 <col align="left" valign="top">
81 <col>
82 </colgroup>
83 <tbody>
84 <tr>
85 <td><p><span class="term">Effects:</span></p></td>
86 <td><p>Sets the currently represented connection to the
87           NULL connection.</p></td>
88 </tr>
89 <tr>
90 <td><p><span class="term">Postconditions:</span></p></td>
91 <td><p><code class="computeroutput">!this-&gt;<a class="link" href="connection.html#idp718843248-bb">connected</a>()</code>.</p></td>
92 </tr>
93 <tr>
94 <td><p><span class="term">Throws:</span></p></td>
95 <td><p>Will not throw.</p></td>
96 </tr>
97 </tbody>
98 </table></div>
99 </li>
100 <li class="listitem">
101 <pre class="literallayout"><a name="idp718828736-bb"></a><span class="identifier">connection</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
102 <div class="variablelist"><table border="0" class="variablelist compact">
103 <colgroup>
104 <col align="left" valign="top">
105 <col>
106 </colgroup>
107 <tbody>
108 <tr>
109 <td><p><span class="term">Effects:</span></p></td>
110 <td><p><code class="computeroutput">this</code> references
111           the connection referenced by
112           <code class="computeroutput">other</code>.</p></td>
113 </tr>
114 <tr>
115 <td><p><span class="term">Throws:</span></p></td>
116 <td><p>Will not throw.</p></td>
117 </tr>
118 </tbody>
119 </table></div>
120 </li>
121 <li class="listitem">
122 <pre class="literallayout">connection&amp; <a name="idp718833280-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
123 <div class="variablelist"><table border="0" class="variablelist compact">
124 <colgroup>
125 <col align="left" valign="top">
126 <col>
127 </colgroup>
128 <tbody>
129 <tr>
130 <td><p><span class="term">Effects:</span></p></td>
131 <td><p><code class="computeroutput">this</code> references
132           the connection referenced by
133           <code class="computeroutput">other</code>.</p></td>
134 </tr>
135 <tr>
136 <td><p><span class="term">Throws:</span></p></td>
137 <td><p>Will not throw.</p></td>
138 </tr>
139 </tbody>
140 </table></div>
141 </li>
142 </ol></div>
143 </div>
144 <div class="refsect2">
145 <a name="idp521030512"></a><h3>
146 <a name="idp718837824-bb"></a><code class="computeroutput">connection</code> connection management</h3>
147 <div class="orderedlist"><ol class="orderedlist" type="1">
148 <li class="listitem">
149 <pre class="literallayout"><span class="keyword">void</span> <a name="idp718838384-bb"></a><span class="identifier">disconnect</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
150 <div class="variablelist"><table border="0" class="variablelist compact">
151 <colgroup>
152 <col align="left" valign="top">
153 <col>
154 </colgroup>
155 <tbody>
156 <tr>
157 <td><p><span class="term">Effects:</span></p></td>
158 <td><p>If
159              <code class="computeroutput">this-&gt;<a class="link" href="connection.html#idp718843248-bb">connected</a>()</code>,
160              disconnects the signal and slot referenced by this;
161              otherwise, this operation is a no-op.</p></td>
162 </tr>
163 <tr>
164 <td><p><span class="term">Postconditions:</span></p></td>
165 <td><p><code class="computeroutput">!this-&gt;<a class="link" href="connection.html#idp718843248-bb">connected</a>()</code>.</p></td>
166 </tr>
167 </tbody>
168 </table></div>
169 </li>
170 <li class="listitem">
171 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp718843248-bb"></a><span class="identifier">connected</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
172 <div class="variablelist"><table border="0" class="variablelist compact">
173 <colgroup>
174 <col align="left" valign="top">
175 <col>
176 </colgroup>
177 <tbody>
178 <tr>
179 <td><p><span class="term">Returns:</span></p></td>
180 <td><p><code class="computeroutput">true</code> if this
181             references a non-NULL connection that is still active
182             (connected), and <code class="computeroutput">false</code>
183             otherwise.</p></td>
184 </tr>
185 <tr>
186 <td><p><span class="term">Throws:</span></p></td>
187 <td><p>Will not throw.</p></td>
188 </tr>
189 </tbody>
190 </table></div>
191 </li>
192 </ol></div>
193 </div>
194 <div class="refsect2">
195 <a name="idp521051472"></a><h3>
196 <a name="idp718847376-bb"></a><code class="computeroutput">connection</code> blocking</h3>
197 <div class="orderedlist"><ol class="orderedlist" type="1">
198 <li class="listitem">
199 <pre class="literallayout"><span class="keyword">void</span> <a name="idp718847936-bb"></a><span class="identifier">block</span><span class="special">(</span><span class="keyword">bool</span> should_block <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre>
200 <div class="variablelist"><table border="0" class="variablelist compact">
201 <colgroup>
202 <col align="left" valign="top">
203 <col>
204 </colgroup>
205 <tbody>
206 <tr>
207 <td><p><span class="term">Requires:</span></p></td>
208 <td><code class="computeroutput">connected()</code></td>
209 </tr>
210 <tr>
211 <td><p><span class="term">Postconditions:</span></p></td>
212 <td><code class="computeroutput">blocked() == should_block</code></td>
213 </tr>
214 <tr>
215 <td><p><span class="term">Throws:</span></p></td>
216 <td>Will not throw.</td>
217 </tr>
218 </tbody>
219 </table></div>
220 </li>
221 <li class="listitem">
222 <pre class="literallayout"><span class="keyword">void</span> <a name="idp718852720-bb"></a><span class="identifier">unblock</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
223 <div class="variablelist"><table border="0" class="variablelist compact">
224 <colgroup>
225 <col align="left" valign="top">
226 <col>
227 </colgroup>
228 <tbody>
229 <tr>
230 <td><p><span class="term">Requires:</span></p></td>
231 <td><code class="computeroutput">connected()</code></td>
232 </tr>
233 <tr>
234 <td><p><span class="term">Postconditions:</span></p></td>
235 <td><code class="computeroutput">!blocked()</code></td>
236 </tr>
237 <tr>
238 <td><p><span class="term">Throws:</span></p></td>
239 <td>Will not throw.</td>
240 </tr>
241 </tbody>
242 </table></div>
243 </li>
244 <li class="listitem">
245 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp718855872-bb"></a><span class="identifier">blocked</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
246 <div class="variablelist"><table border="0" class="variablelist compact">
247 <colgroup>
248 <col align="left" valign="top">
249 <col>
250 </colgroup>
251 <tbody>
252 <tr>
253 <td><p><span class="term">Returns:</span></p></td>
254 <td>
255 <code class="computeroutput">true</code> if the associated slot is either disconnected or blocked, <code class="computeroutput">false</code> otherwise.</td>
256 </tr>
257 <tr>
258 <td><p><span class="term">Throws:</span></p></td>
259 <td>Will not throw.</td>
260 </tr>
261 </tbody>
262 </table></div>
263 </li>
264 </ol></div>
265 </div>
266 <div class="refsect2">
267 <a name="idp521080592"></a><h3>
268 <a name="idp718859408-bb"></a><code class="computeroutput">connection</code> modifiers</h3>
269 <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
270 <pre class="literallayout"><span class="keyword">void</span> <a name="idp718859968-bb"></a><span class="identifier">swap</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
271 <div class="variablelist"><table border="0" class="variablelist compact">
272 <colgroup>
273 <col align="left" valign="top">
274 <col>
275 </colgroup>
276 <tbody>
277 <tr>
278 <td><p><span class="term">Effects:</span></p></td>
279 <td><p>Swaps the connections referenced in
280             <code class="computeroutput">this</code> and
281             <code class="computeroutput">other</code>.</p></td>
282 </tr>
283 <tr>
284 <td><p><span class="term">Throws:</span></p></td>
285 <td><p>Will not throw.</p></td>
286 </tr>
287 </tbody>
288 </table></div>
289 </li></ol></div>
290 </div>
291 <div class="refsect2">
292 <a name="idp521092912"></a><h3>
293 <a name="idp718865536-bb"></a><code class="computeroutput">connection</code> comparisons</h3>
294 <div class="orderedlist"><ol class="orderedlist" type="1">
295 <li class="listitem">
296 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp718866096-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
297 <div class="variablelist"><table border="0" class="variablelist compact">
298 <colgroup>
299 <col align="left" valign="top">
300 <col>
301 </colgroup>
302 <tbody>
303 <tr>
304 <td><p><span class="term">Returns:</span></p></td>
305 <td><p><code class="computeroutput">true</code> if
306             <code class="computeroutput">this</code> and
307             <code class="computeroutput">other</code> reference the same
308             connection or both reference the NULL connection, and
309             <code class="computeroutput">false</code>
310             otherwise.</p></td>
311 </tr>
312 <tr>
313 <td><p><span class="term">Throws:</span></p></td>
314 <td><p>Will not throw.</p></td>
315 </tr>
316 </tbody>
317 </table></div>
318 </li>
319 <li class="listitem">
320 <pre class="literallayout"><span class="keyword">bool</span> <a name="idp718873104-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
321 <div class="variablelist"><table border="0" class="variablelist compact">
322 <colgroup>
323 <col align="left" valign="top">
324 <col>
325 </colgroup>
326 <tbody>
327 <tr>
328 <td><p><span class="term">Returns:</span></p></td>
329 <td><p><code class="computeroutput">true</code> if the
330             connection referenced by
331             <code class="computeroutput">this</code> precedes the
332             connection referenced by
333             <code class="computeroutput">other</code> based on some
334             unspecified ordering, and
335             <code class="computeroutput">false</code>
336             otherwise.</p></td>
337 </tr>
338 <tr>
339 <td><p><span class="term">Throws:</span></p></td>
340 <td><p>Will not throw.</p></td>
341 </tr>
342 </tbody>
343 </table></div>
344 </li>
345 </ol></div>
346 </div>
347 <div class="refsect2">
348 <a name="idp521120592"></a><h3>
349 <a name="idp718880336-bb"></a><code class="computeroutput">connection</code> specialized algorithms</h3>
350 <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
351 <pre class="literallayout"><span class="keyword">void</span> <a name="boost.signals.connection.swap_idp718880896"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> x<span class="special">,</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
352 <div class="variablelist"><table border="0" class="variablelist compact">
353 <colgroup>
354 <col align="left" valign="top">
355 <col>
356 </colgroup>
357 <tbody>
358 <tr>
359 <td><p><span class="term">Effects:</span></p></td>
360 <td><p><code class="computeroutput">x.swap(y)</code></p></td>
361 </tr>
362 <tr>
363 <td><p><span class="term">Throws:</span></p></td>
364 <td><p>Will not throw.</p></td>
365 </tr>
366 </tbody>
367 </table></div>
368 </li></ol></div>
369 </div>
370 </div>
371 </div>
372 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
373 <td align="left"></td>
374 <td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
375     Software License, Version 1.0. (See accompanying file
376     <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
377 </div></td>
378 </tr></table>
379 <hr>
380 <div class="spirit-nav">
381 <a accesskey="p" href="trackable.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../signals/reference.html#header.boost.signals.connection_hpp"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="scoped_connection.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
382 </div>
383 </body>
384 </html>