]>
Commit | Line | Data |
---|---|---|
1 | <?xml version="1.0" encoding="utf-8"?> | |
2 | <!DOCTYPE section PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" | |
3 | "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"> | |
4 | <!-- | |
5 | Copyright Douglas Gregor 2001-2004 | |
6 | Copyright Frank Mori Hess 2007-2009 | |
7 | ||
8 | Distributed under the Boost Software License, Version 1.0. (See accompanying | |
9 | file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
10 | --> | |
11 | <section last-revision="$Date: 2007-06-12 14:01:23 -0400 (Tue, 12 Jun 2007) $"> | |
12 | <title>Introduction</title> | |
13 | ||
14 | <para>The Boost.Signals2 library is an implementation of a managed | |
15 | signals and slots system. Signals represent callbacks with multiple | |
16 | targets, and are also called publishers or events in similar | |
17 | systems. Signals are connected to some set of slots, which are | |
18 | callback receivers (also called event targets or subscribers), which | |
19 | are called when the signal is "emitted."</para> | |
20 | ||
21 | <para>Signals and slots are managed, in that signals and slots (or, | |
22 | more properly, objects that occur as part of the slots) can track | |
23 | connections and are capable of automatically disconnecting signal/slot | |
24 | connections when either is destroyed. This enables the user to make | |
25 | signal/slot connections without expending a great effort to manage the | |
26 | lifetimes of those connections with regard to the lifetimes of all | |
27 | objects involved.</para> | |
28 | ||
29 | <para>When signals are connected to multiple slots, there is a | |
30 | question regarding the relationship between the return values of the | |
31 | slots and the return value of the signals. Boost.Signals2 allows the | |
32 | user to specify the manner in which multiple return values are | |
33 | combined.</para> | |
34 | ||
35 | <section> | |
36 | <title>Signals2</title> | |
37 | <para>This documentation describes a thread-safe variant of the | |
38 | original Boost.Signals library. There have been some changes to | |
39 | the interface to support thread-safety, mostly with respect to | |
40 | automatic connection management. This implementation was written by | |
41 | Frank Mori Hess. Acknowledgements are also due to Timmo Stange, Peter | |
42 | Dimov, and Tony Van Eerd for ideas and feedback, and to Douglas Gregor | |
43 | for the original version of Boost.Signals this effort was based on. | |
44 | </para> | |
45 | </section> | |
46 | </section> |