|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r49036 - in sandbox/thread_safe_signals/trunk/libs/signals2/doc: . reference
From: fmhess_at_[hidden]
Date: 2008-09-29 16:40:37
Author: fmhess
Date: 2008-09-29 16:40:36 EDT (Mon, 29 Sep 2008)
New Revision: 49036
URL: http://svn.boost.org/trac/boost/changeset/49036
Log:
Removed obsolete documentation regarding expired_slot exceptions
Text files modified:
sandbox/thread_safe_signals/trunk/libs/signals2/doc/faq.xml | 5 -----
sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/last_value.xml | 6 +++---
sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/signal_header.xml | 7 +------
sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/slot_base.xml | 7 +------
sandbox/thread_safe_signals/trunk/libs/signals2/doc/tutorial.xml | 23 +++++------------------
5 files changed, 10 insertions(+), 38 deletions(-)
Modified: sandbox/thread_safe_signals/trunk/libs/signals2/doc/faq.xml
==============================================================================
--- sandbox/thread_safe_signals/trunk/libs/signals2/doc/faq.xml (original)
+++ sandbox/thread_safe_signals/trunk/libs/signals2/doc/faq.xml 2008-09-29 16:40:36 EDT (Mon, 29 Sep 2008)
@@ -110,11 +110,6 @@
</para>
</listitem>
<listitem>
- <para>User-defined combiners are now expected to handle the possibility of a slot throwing an
- <classname>expired_slot</classname> exception due to automatic disconnection.
- </para>
- </listitem>
- <listitem>
<para><code>boost::visit_each</code>, which was used to find <code>boost::trackable</code> objects,
is gone.
</para>
Modified: sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/last_value.xml
==============================================================================
--- sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/last_value.xml (original)
+++ sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/last_value.xml 2008-09-29 16:40:36 EDT (Mon, 29 Sep 2008)
@@ -28,7 +28,7 @@
</parameter>
<effects><para>Attempts to dereference every iterator in the sequence <computeroutput>[first, last)</computeroutput>.
- Swallows <classname>expired_slot</classname> exceptions thrown by failed dereference attempts.</para></effects>
+ </para></effects>
<returns><para>The result of the last successful iterator dereference.</para></returns>
<throws><para><classname>no_slots_error</classname> if no iterators were successfully dereferenced,
unless the template type of <code>last_value</code> is <code>void</code> or <code>optional<T></code>.</para></throws>
@@ -62,7 +62,7 @@
</parameter>
<effects><para>Attempts to dereference every iterator in the sequence <computeroutput>[first, last)</computeroutput>.
- Swallows <classname>expired_slot</classname> exceptions thrown by failed dereference attempts.</para></effects>
+ </para></effects>
</method>
</method-group>
</class-specialization>
@@ -95,7 +95,7 @@
</parameter>
<effects><para>Attempts to dereference every iterator in the sequence <computeroutput>[first, last)</computeroutput>.
- Swallows <classname>expired_slot</classname> exceptions thrown by failed dereference attempts.</para></effects>
+ </para></effects>
<returns><para>An <code>optional<T></code> containing the result of the last successful iterator dereference,
or an uninitalized <code>optional<T></code> if no iterators were successfully dereferenced.</para></returns>
</method>
Modified: sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/signal_header.xml
==============================================================================
--- sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/signal_header.xml (original)
+++ sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/signal_header.xml 2008-09-29 16:40:36 EDT (Mon, 29 Sep 2008)
@@ -276,12 +276,7 @@
iterator in this range causes a slot call with the given set
of parameters <computeroutput>(a1, a2, ...,
aN)</computeroutput>, the result of which is returned from
- the iterator dereference operation. Note, dereferencing
- a slot iterator may throw a <classname>expired_slot</classname>
- exception, if the slot has been disconnected via automatic
- connection management. Combiners should simply swallow
- such <classname>expired_slot</classname> exceptions and move
- on to the next slot.</para></effects>
+ the iterator dereference operation.</para></effects>
<returns><para>The result returned by the combiner.</para></returns>
Modified: sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/slot_base.xml
==============================================================================
--- sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/slot_base.xml (original)
+++ sandbox/thread_safe_signals/trunk/libs/signals2/doc/reference/slot_base.xml 2008-09-29 16:40:36 EDT (Mon, 29 Sep 2008)
@@ -41,12 +41,7 @@
<inherit access="public"><classname>bad_weak_ptr</classname></inherit>
<purpose>Indicates at least one of a slot's tracked objects has expired.</purpose>
<description>The <code>expired_slot</code> exception is thrown to indicate at least one of
- a slot's tracked objects has expired. A <classname alt="signalN">signal</classname>
- will automatically disconnect any slot which throws this exception during
- signal invocation. Combiners
- that wish to support disconnection via expired_slot exceptions should be
- prepared to handle <code>expired_slot</code> exceptions thrown
- by the slot iterator dereference operation.
+ a slot's tracked objects has expired.
</description>
<method name="what" cv="const" specifiers="virtual">
<type>const char * </type>
Modified: sandbox/thread_safe_signals/trunk/libs/signals2/doc/tutorial.xml
==============================================================================
--- sandbox/thread_safe_signals/trunk/libs/signals2/doc/tutorial.xml (original)
+++ sandbox/thread_safe_signals/trunk/libs/signals2/doc/tutorial.xml 2008-09-29 16:40:36 EDT (Mon, 29 Sep 2008)
@@ -476,13 +476,8 @@
// default-constructed value
T max_value = T();
while (first != last) {
- try {
- if (max_value < *first)
- max_value = *first;
- }
- // Iterator dereference may throw boost::signals2::expired_slot if the
- // slot has expired due to automatic connection management.
- catch(const boost::signals2::expired_slot &) {}
+ if (max_value < *first)
+ max_value = *first;
++first;
}
@@ -559,10 +554,7 @@
Container values;
while(first != last) {
- try {
- values.push_back(*first);
- }
- catch(const boost::signals2::expired_slot &) {}
+ values.push_back(*first);
++first;
}
return values;
@@ -647,11 +639,8 @@
result_type operator()(InputIterator first, InputIterator last) const
{
while (first != last) {
- try {
- if (result_type fulfilled = *first)
- return fulfilled;
- }
- catch(const boost::signals2::expired_slot &) {}
+ if (result_type fulfilled = *first)
+ return fulfilled;
++first;
}
return 0;
@@ -916,8 +905,6 @@
<code>scoped_connection</code>'s destructor.</para></listitem>
<listitem><para>An object tracked by the slot is
destroyed.</para></listitem>
-<listitem><para>A slot throws a <classname>boost::signals2::expired_slot</classname> exception.
-</para></listitem>
<listitem><para>The signal is destroyed.</para></listitem></itemizedlist>
<para>These events can occur at any time without disrupting a signal's
calling sequence. If a signal/slot connection is disconnected at
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk