]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/signals/doc/reference/trackable.xml
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / signals / doc / reference / trackable.xml
CommitLineData
7c673cae
FG
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>