| <?xml version="1.0" encoding="utf-8"?> |
| <!DOCTYPE section PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" |
| "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"> |
| <!-- |
| Copyright Douglas Gregor 2001-2004 |
| Copyright Frank Mori Hess 2007-2009 |
| |
| Distributed under the Boost Software License, Version 1.0. (See accompanying |
| file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| --> |
| <section last-revision="$Date: 2007-06-12 14:01:23 -0400 (Tue, 12 Jun 2007) $"> |
| <title>Introduction</title> |
| |
| <para>The Boost.Signals2 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 |
| systems. Signals are connected to some set of slots, which are |
| callback receivers (also called event targets or subscribers), which |
| 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) 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 |
| lifetimes of those connections with regard to the lifetimes of all |
| objects involved.</para> |
| |
| <para>When signals are connected to multiple slots, there is a |
| question regarding the relationship between the return values of the |
| slots and the return value of the signals. Boost.Signals2 allows the |
| user to specify the manner in which multiple return values are |
| combined.</para> |
| |
| <section> |
| <title>Signals2</title> |
| <para>This documentation describes a thread-safe variant of the |
| original 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> |
| </section> |