@@ -145,9 +145,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
145145 <paramtype >signal && </paramtype >
146146 </parameter >
147147 <description ><para >Move constructor.</para ></description >
148- <postconditions ><para >The signal <computeroutput >other</computeroutput >
149- is in a "moved-from" state where it may only be destroyed, swapped, or move assigned.
150- Any other operation on a "moved-from" signal is invalid.</para ></postconditions >
148+ <postconditions ><para ><computeroutput >other.<methodname >null</methodname >()</computeroutput ></para ></postconditions >
151149
152150 <throws ><para >Will not throw.</para ></throws >
153151 </constructor >
@@ -157,9 +155,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
157155 <paramtype >signal && </paramtype >
158156 </parameter >
159157 <description ><para >Move assignment.</para ></description >
160- <postconditions ><para >The signal <computeroutput >rhs</computeroutput >
161- is in a "moved-from" state where it may only be destroyed, swapped, or move assigned.
162- Any other operation on a "moved-from" signal is invalid.</para ></postconditions >
158+ <postconditions ><para ><computeroutput >rhs.<methodname >null</methodname >()</computeroutput ></para ></postconditions >
163159
164160 <throws ><para >Will not throw.</para ></throws >
165161 </copy-assignment >
@@ -431,6 +427,41 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
431427 <throws ><para >Will not throw.</para ></throws >
432428 </method >
433429 </method-group >
430+
431+ <method-group name =" misc" >
432+ <method name =" null" cv =" const" >
433+ <type >bool</type >
434+ <returns ><para ><computeroutput >false</computeroutput > for a normal signal,
435+ <computeroutput >true</computeroutput > after a signal
436+ has been moved from. Null signals are nonfunctional husks left
437+ behind after a signal is moved. They may not be invoked or have
438+ slots connected to them.</para >
439+ </returns >
440+
441+ <throws ><para >Will not throw.</para ></throws >
442+
443+ <notes >
444+ <para >A null signal may be destroyed, swapped, or move assigned. Also,
445+ the following methods may be called on a null signal:
446+ </para >
447+ <variablelist >
448+ <varlistentry ><term ><methodname >disconnect</methodname > and <methodname >disconnect_all_slots</methodname ></term >
449+ <listitem >no effect</listitem >
450+ </varlistentry >
451+ <varlistentry ><term ><methodname >empty</methodname ></term >
452+ <listitem >returns <computeroutput >true</computeroutput ></listitem >
453+ </varlistentry >
454+ <varlistentry ><term ><methodname >null</methodname ></term >
455+ <listitem >returns <computeroutput >true</computeroutput ></listitem >
456+ </varlistentry >
457+ <varlistentry ><term ><methodname >num_slots</methodname ></term >
458+ <listitem >returns <computeroutput >0</computeroutput ></listitem >
459+ </varlistentry >
460+ </variablelist >
461+ <para >Any other operation on a null signal is invalid.</para >
462+ </notes >
463+ </method >
464+ </method-group >
434465
435466 <free-function-group name =" specialized algorithms" >
436467 <function name =" swap" >
0 commit comments