Update of /cvsroot/boost-sandbox/boost-sandbox/libs/thread_safe_signals/doc
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv2126
Modified Files:
design.xml faq.xml introduction.xml rationale.xml signals.xml
tests.xml tutorial.xml
Log Message:
Updated documentation.
Index: tutorial.xml
===================================================================
RCS file: /cvsroot/boost-sandbox/boost-sandbox/libs/thread_safe_signals/doc/tutorial.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- tutorial.xml 5 Mar 2007 19:54:28 -0000 1.1
+++ tutorial.xml 6 Mar 2007 21:51:55 -0000 1.2
@@ -681,7 +681,7 @@
<para>Slots can be temporarily "blocked", meaning that they will be
ignored when the signal is invoked but have not been disconnected. A
-<class>boost::signals::shared_connection_block</class> object will
+<classname>boost::signals::shared_connection_block</classname> object will
temporarily block a slot. The connection is unblocked by either
destroying or calling
<methodname alt="shared_connection_block::unblock">unblock</methodname>
@@ -861,6 +861,14 @@
<classname alt="slotN">slot</classname> constructor is passed more than one
argument, it will automatically pass all the arguments to <code>bind</code> and use the
returned function object.</para>
+<para>One limitation of using <code>shared_ptr</code> for tracking is that
+an object cannot setup tracking of itself in its constructor. However, it is
+possible to set up tracking in a post-constructor. In a post-constructor,
+a <code>shared_ptr</code> to <code>this</code> can be obtained by using
+<classname>enable_shared_from_this</classname>. You may also find
+<functionname>deconstruct_ptr</functionname> useful as a simple
+post-constructor/pre-destructor framework for your classes.
+</para>
</section>
<section><title>When can disconnections occur? (Intermediate)</title>
@@ -873,7 +881,7 @@
<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 an <class>boost::expired_slot</class> exception.
+<listitem><para>A slot throws an <classname>boost::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
Index: introduction.xml
===================================================================
RCS file: /cvsroot/boost-sandbox/boost-sandbox/libs/thread_safe_signals/doc/introduction.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- introduction.xml 5 Mar 2007 19:54:28 -0000 1.1
+++ introduction.xml 6 Mar 2007 21:51:55 -0000 1.2
@@ -4,12 +4,6 @@
<section last-revision="$Date$">
<title>Introduction</title>
-<para>This documentation describes a thread-safe variant of the
-official Boost.Signals library. There have been some changes to
-the interface to support thread-safety, mostly with respect to
-automatic connection management.
-</para>
-
<para>The Boost.Signals library is an implementation of a managed
signals and slots system. Signals represent callbacks with multiple
targets, and are also called publishers or events in similar
@@ -18,7 +12,7 @@
are called when the signal is "emitted."</para>
<para>Signals and slots are managed, in that signals and slots (or,
-more properly, objects that occur as part of the slots) track all
+more properly, objects that occur as part of the slots) can track
connections and are capable of automatically disconnecting signal/slot
connections when either is destroyed. This enables the user to make
signal/slot connections without expending a great effort to manage the
@@ -31,4 +25,13 @@
user to specify the manner in which multiple return values are
combined.</para>
+<para>This documentation describes a thread-safe variant of the
+official Boost.Signals library. There have been some changes to
+the interface to support thread-safety, mostly with respect to
+automatic connection management. This implementation was written by
+Frank Mori Hess. Acknowledgements are also due to Timmo Stange, Peter
+Dimov, and Gottlob Frege for ideas and feedback, and to Douglas Gregor
+for the original version of Boost.Signals this effort was based on.
+</para>
+
</section>
\ No newline at end of file
|