Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/libs/signals/doc/reference/trackable.xml @ 24

Last change on this file since 24 was 12, checked in by landauf, 18 years ago

added boost

File size: 2.8 KB
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE header PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
3  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
4<header name="boost/signals/trackable.hpp">
5  <namespace name="boost">
6    <namespace name="signals">
7      <class name="trackable">
8        <purpose>Enables safe use of multicast callbacks.</purpose>
9
10        <description>
11          <para>The <code>trackable</code> class provides automatic
12          disconnection of signals and slots when objects bound in
13          slots (via pointer or reference) are destroyed. The
14          <code>trackable</code> class may only be used as a public
15          base class for some other class; when used as such, that
16          class may be bound to function objects used as part of
17          slots. The manner in which a <code>trackable</code> object
18          tracks the set of signal-slot connections it is a part of is
19          unspecified.</para>
20       
21          <para>The actual use of <code>trackable</code> is contingent
22          on the presence of appropriate
23          <functionname>visit_each</functionname> overloads for any
24          type that may contain pointers or references to trackable
25          objects.</para>
26        </description>
27
28        <constructor>
29          <effects><para>Sets the list of connected slots to empty.</para></effects>
30          <throws><para>Will not throw.</para></throws>
31        </constructor>
32
33        <constructor>
34          <parameter name="other">
35            <paramtype>const <classname>trackable</classname>&amp;</paramtype>
36          </parameter>
37
38          <effects><para>Sets the list of connected slots to empty.</para></effects>
39          <throws><para>Will not throw.</para></throws>
40          <rationale><para>Signal-slot connections can only be created via calls to an explicit connect method, and therefore cannot be created here when trackable objects are copied.</para></rationale>
41        </constructor> 
42
43        <destructor>
44          <effects><para>Disconnects all signal/slot connections that
45          contain a pointer or reference to this trackable object that
46          can be found by
47          <functionname>visit_each</functionname>.</para></effects>
48        </destructor>
49
50        <copy-assignment>
51          <parameter name="other">
52            <paramtype>const <classname>trackable</classname>&amp;</paramtype>
53          </parameter>
54
55          <effects><para>Sets the list of connected slots to empty.</para></effects>
56          <returns><para><code>*this</code></para></returns>
57          <throws><para>Will not throw.</para></throws>
58          <rationale><para>Signal-slot connections can only be created via calls to an explicit connect method, and therefore cannot be created here when trackable objects are copied.</para></rationale>
59        </copy-assignment> 
60      </class>
61    </namespace>
62  </namespace>
63</header>
Note: See TracBrowser for help on using the repository browser.