1 | <?xml version="1.0" encoding="utf-8"?> |
---|
2 | <!-- |
---|
3 | Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com> |
---|
4 | |
---|
5 | Distributed under the Boost Software License, Version 1.0. |
---|
6 | (See accompanying file LICENSE_1_0.txt or copy at |
---|
7 | http://www.boost.org/LICENSE_1_0.txt) |
---|
8 | --> |
---|
9 | <!DOCTYPE header PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" |
---|
10 | "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"> |
---|
11 | <header name="boost/signals/connection.hpp" last-revision="$Date: 2006/11/03 19:45:41 $"> |
---|
12 | <namespace name="boost"> |
---|
13 | <namespace name="signals"> |
---|
14 | <class name="connection"> |
---|
15 | <!-- Models LessThanComparable and EqualityComparable --> |
---|
16 | <purpose>Query/disconnect a signal-slot connection.</purpose> |
---|
17 | |
---|
18 | <description> |
---|
19 | <para>The <classname>connection</classname> class represents |
---|
20 | a connection between a Signal and a Slot. It is a |
---|
21 | lightweight object that has the ability to query whether the |
---|
22 | signal and slot are currently connected, and to disconnect |
---|
23 | the signal and slot. It is always safe to query or |
---|
24 | disconnect a connection.</para> |
---|
25 | </description> |
---|
26 | |
---|
27 | <constructor> |
---|
28 | <effects><para>Sets the currently represented connection to the |
---|
29 | NULL connection.</para></effects> |
---|
30 | <postconditions><para><computeroutput>!this-><methodname>connected</methodname>()</computeroutput>.</para></postconditions> |
---|
31 | <throws><para>Will not throw.</para></throws> |
---|
32 | </constructor> |
---|
33 | |
---|
34 | <constructor> |
---|
35 | <parameter name="other"> |
---|
36 | <paramtype>const <classname>connection</classname>&</paramtype> |
---|
37 | </parameter> |
---|
38 | |
---|
39 | <effects><para><computeroutput>this</computeroutput> references |
---|
40 | the connection referenced by |
---|
41 | <computeroutput>other</computeroutput>.</para></effects> |
---|
42 | |
---|
43 | <throws><para>Will not throw.</para></throws> |
---|
44 | </constructor> |
---|
45 | |
---|
46 | <copy-assignment> |
---|
47 | <parameter name="other"> |
---|
48 | <paramtype>const <classname>connection</classname>&</paramtype> |
---|
49 | </parameter> |
---|
50 | |
---|
51 | <effects><para><computeroutput>this</computeroutput> references |
---|
52 | the connection referenced by |
---|
53 | <computeroutput>other</computeroutput>.</para></effects> |
---|
54 | |
---|
55 | <throws><para>Will not throw.</para></throws> |
---|
56 | </copy-assignment> |
---|
57 | |
---|
58 | <method-group name="connection management"> |
---|
59 | <method name="disconnect" cv="const"> |
---|
60 | <type>void</type> |
---|
61 | <effects><para>If |
---|
62 | <computeroutput>this-><methodname>connected</methodname>()</computeroutput>, |
---|
63 | disconnects the signal and slot referenced by this; |
---|
64 | otherwise, this operation is a no-op.</para></effects> |
---|
65 | |
---|
66 | <postconditions><para><computeroutput>!this-><methodname>connected</methodname>()</computeroutput>.</para></postconditions> |
---|
67 | </method> |
---|
68 | |
---|
69 | <method name="connected" cv="const"> |
---|
70 | <type>bool</type> |
---|
71 | <returns><para><computeroutput>true</computeroutput> if this |
---|
72 | references a non-NULL connection that is still active |
---|
73 | (connected), and <computeroutput>false</computeroutput> |
---|
74 | otherwise.</para></returns> |
---|
75 | <throws><para>Will not throw.</para></throws> |
---|
76 | </method> |
---|
77 | </method-group> |
---|
78 | |
---|
79 | <method-group name="blocking"> |
---|
80 | <method name="block"> |
---|
81 | <type>void</type> |
---|
82 | <parameter name="should_block"> |
---|
83 | <paramtype>bool</paramtype> |
---|
84 | <default>true</default> |
---|
85 | </parameter> |
---|
86 | <requires><simpara><code>connected()</code></simpara></requires> |
---|
87 | <postconditions><simpara><code>blocked() == should_block</code></simpara></postconditions> |
---|
88 | <throws><simpara>Will not throw.</simpara></throws> |
---|
89 | </method> |
---|
90 | <method name="unblock"> |
---|
91 | <type>void</type> |
---|
92 | <requires><simpara><code>connected()</code></simpara></requires> |
---|
93 | <postconditions><simpara><code>!blocked()</code></simpara></postconditions> |
---|
94 | <throws><simpara>Will not throw.</simpara></throws> |
---|
95 | </method> |
---|
96 | <method name="blocked" cv="const"> |
---|
97 | <type>bool</type> |
---|
98 | <returns><simpara><code>true</code> if the associated slot is either disconnected or blocked, <code>false</code> otherwise.</simpara></returns> |
---|
99 | <throws><simpara>Will not throw.</simpara></throws> |
---|
100 | </method> |
---|
101 | </method-group> |
---|
102 | |
---|
103 | <method-group name="modifiers"> |
---|
104 | <method name="swap"> |
---|
105 | <type>void</type> |
---|
106 | <parameter name="other"> |
---|
107 | <paramtype>const <classname>connection</classname>&</paramtype> |
---|
108 | </parameter> |
---|
109 | <effects><para>Swaps the connections referenced in |
---|
110 | <computeroutput>this</computeroutput> and |
---|
111 | <computeroutput>other</computeroutput>.</para></effects> |
---|
112 | |
---|
113 | <throws><para>Will not throw.</para></throws> |
---|
114 | </method> |
---|
115 | </method-group> |
---|
116 | |
---|
117 | <method-group name="comparisons"> |
---|
118 | <method name="operator==" cv="const"> |
---|
119 | <type>bool</type> |
---|
120 | <parameter name="other"> |
---|
121 | <paramtype>const <classname>connection</classname>&</paramtype> |
---|
122 | </parameter> |
---|
123 | |
---|
124 | <returns><para><computeroutput>true</computeroutput> if |
---|
125 | <computeroutput>this</computeroutput> and |
---|
126 | <computeroutput>other</computeroutput> reference the same |
---|
127 | connection or both reference the NULL connection, and |
---|
128 | <computeroutput>false</computeroutput> |
---|
129 | otherwise.</para></returns> |
---|
130 | |
---|
131 | <throws><para>Will not throw.</para></throws> |
---|
132 | </method> |
---|
133 | |
---|
134 | <method name="operator<" cv="const"> |
---|
135 | <type>bool</type> |
---|
136 | <parameter name="other"> |
---|
137 | <paramtype>const <classname>connection</classname>&</paramtype> |
---|
138 | </parameter> |
---|
139 | |
---|
140 | <returns><para><computeroutput>true</computeroutput> if the |
---|
141 | connection referenced by |
---|
142 | <computeroutput>this</computeroutput> precedes the |
---|
143 | connection referenced by |
---|
144 | <computeroutput>other</computeroutput> based on some |
---|
145 | unspecified ordering, and |
---|
146 | <computeroutput>false</computeroutput> |
---|
147 | otherwise.</para></returns> |
---|
148 | |
---|
149 | <throws><para>Will not throw.</para></throws> |
---|
150 | </method> |
---|
151 | </method-group> |
---|
152 | |
---|
153 | <free-function-group name="specialized algorithms"> |
---|
154 | <function name="swap"> |
---|
155 | <type>void</type> |
---|
156 | <parameter name="x"> |
---|
157 | <paramtype><classname>connection</classname>&</paramtype> |
---|
158 | </parameter> |
---|
159 | <parameter name="y"> |
---|
160 | <paramtype><classname>connection</classname>&</paramtype> |
---|
161 | </parameter> |
---|
162 | |
---|
163 | <effects><para><computeroutput>x.swap(y)</computeroutput></para></effects> |
---|
164 | <throws><para>Will not throw.</para></throws> |
---|
165 | </function> |
---|
166 | </free-function-group> |
---|
167 | </class> |
---|
168 | |
---|
169 | <class name="scoped_connection"> |
---|
170 | <inherit access="private"> |
---|
171 | <type><classname>noncopyable</classname></type> |
---|
172 | <purpose>Exposition only</purpose> |
---|
173 | </inherit> |
---|
174 | <purpose>Limits a signal-slot connection lifetime to a particular scope.</purpose> |
---|
175 | |
---|
176 | <constructor> |
---|
177 | <parameter name="other"> |
---|
178 | <paramtype>const <classname>connection</classname>&</paramtype> |
---|
179 | </parameter> |
---|
180 | |
---|
181 | <effects><para><computeroutput>this</computeroutput> references |
---|
182 | the connection referenced by |
---|
183 | <computeroutput>other</computeroutput>.</para></effects> |
---|
184 | |
---|
185 | <throws><para>Will not throw.</para></throws> |
---|
186 | </constructor> |
---|
187 | |
---|
188 | <destructor> |
---|
189 | <effects><para>If |
---|
190 | <computeroutput>this-><methodname>connected</methodname>()</computeroutput>, |
---|
191 | disconnects the signal-slot connection.</para></effects> |
---|
192 | </destructor> |
---|
193 | |
---|
194 | <method-group name="connection management"> |
---|
195 | <method name="disconnect" cv="const"> |
---|
196 | <type>void</type> |
---|
197 | <effects><para>If |
---|
198 | <computeroutput>this-><methodname>connected</methodname>()</computeroutput>, |
---|
199 | disconnects the signal and slot referenced by this; |
---|
200 | otherwise, this operation is a no-op.</para></effects> |
---|
201 | |
---|
202 | <postconditions><para><computeroutput>!this-><methodname>connected</methodname>()</computeroutput>.</para></postconditions> |
---|
203 | </method> |
---|
204 | |
---|
205 | <method name="connected" cv="const"> |
---|
206 | <type>bool</type> |
---|
207 | <returns><para><computeroutput>true</computeroutput> if this |
---|
208 | references a non-NULL connection that is still active |
---|
209 | (connected), and <computeroutput>false</computeroutput> |
---|
210 | otherwise.</para></returns> |
---|
211 | <throws><para>Will not throw.</para></throws> |
---|
212 | </method> |
---|
213 | </method-group> |
---|
214 | </class> |
---|
215 | </namespace> |
---|
216 | </namespace> |
---|
217 | </header> |
---|