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 |