summaryrefslogtreecommitdiff
path: root/doc/html/signals2
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:41:18 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:43:11 +0900
commitf763a99a501650eff2c60288aa6f10ef916d769e (patch)
tree02af7e13f9a38c888ebf340fe764cbe7dae99da9 /doc/html/signals2
parent5cde13f21d36c7224b0e13d11c4b49379ae5210d (diff)
downloadboost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.gz
boost-f763a99a501650eff2c60288aa6f10ef916d769e.tar.bz2
boost-f763a99a501650eff2c60288aa6f10ef916d769e.zip
Imported Upstream version 1.62.0upstream/1.62.0
Change-Id: I9d4c1ddb7b7d8f0069217ecc582700f9fda6dd4c Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'doc/html/signals2')
-rw-r--r--doc/html/signals2/api_changes.html34
-rw-r--r--doc/html/signals2/examples.html12
-rw-r--r--doc/html/signals2/faq.html20
-rw-r--r--doc/html/signals2/rationale.html64
-rw-r--r--doc/html/signals2/reference.html16
-rw-r--r--doc/html/signals2/tests.html12
-rw-r--r--doc/html/signals2/thread-safety.html26
-rw-r--r--doc/html/signals2/tutorial.html118
8 files changed, 152 insertions, 150 deletions
diff --git a/doc/html/signals2/api_changes.html b/doc/html/signals2/api_changes.html
index c50771ff56..e7ea4805ac 100644
--- a/doc/html/signals2/api_changes.html
+++ b/doc/html/signals2/api_changes.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Signals2 API Changes</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals2.html" title="Chapter&#160;30.&#160;Boost.Signals2">
+<link rel="up" href="../signals2.html" title="Chapter&#160;33.&#160;Boost.Signals2">
<link rel="prev" href="rationale.html" title="Design Rationale">
<link rel="next" href="tests.html" title="Testsuite">
</head>
@@ -26,7 +26,7 @@
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="signals2.api_changes"></a>Signals2 API Changes</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="api_changes.html#signals2.porting">Porting from Boost.Signals to Boost.Signals2</a></span></dt>
<dt><span class="section"><a href="api_changes.html#signals2.api_history">Signals2 API Development</a></span></dt>
</dl></div>
@@ -37,7 +37,7 @@
library are summarized below. We also provide some notes on
dealing with each change while porting existing Boost.Signals code to Boost.Signals2.
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p>The namespace <code class="computeroutput">boost::signals</code> has been replaced by <code class="computeroutput">boost::signals2</code>
to avoid conflict with the original Boost.Signals implementation, as well as the Qt "signals" macro.
@@ -73,7 +73,7 @@
<p>
Automatic connection management is now achieved through the use of
<code class="computeroutput">shared_ptr</code>/<code class="computeroutput">weak_ptr</code>
- and <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idp131977696-bb">signals2::slot::track</a></code>(), as described in the
+ and <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idm46563208783264-bb">signals2::slot::track</a></code>(), as described in the
<a class="link" href="tutorial.html#signals2.tutorial.connection-management" title="Automatic Connection Management (Intermediate)">tutorial</a>.
However, the old (thread-unsafe) Boost.Signals scheme of automatic connection management
is still supported via the <code class="computeroutput"><a class="link" href="../boost/signals2/trackable.html" title="Class trackable">boost::signals2::trackable</a></code> class.
@@ -107,7 +107,7 @@
move the connection creation from the constructor to to the an
<code class="computeroutput">adl_postconstruct</code> function, where
a reference to the owning <code class="computeroutput">shared_ptr</code> is available for
- passing to <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idp131977696-bb">signals2::slot::track</a></code>.
+ passing to <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idm46563208783264-bb">signals2::slot::track</a></code>.
The <code class="computeroutput"><a class="link" href="../boost/signals2/deconstruct.html" title="Function deconstruct">deconstruct</a></code> function would be used create objects
of the class and run their associated <code class="computeroutput">adl_postconstruct</code> function.
You can enforce use of <code class="computeroutput"><a class="link" href="../boost/signals2/deconstruct.html" title="Function deconstruct">deconstruct</a></code> by
@@ -161,7 +161,7 @@
<p>
The <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html" title="Class template signal">signals2::signal</a></code> class has an additional typedef
<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#boost.signals2.signal.extended_slot_type">signals2::signal::extended_slot_type</a></code>
- and new <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134091680-bb">signals2::signal::connect_extended</a></code>()
+ and new <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209021696-bb">signals2::signal::connect_extended</a></code>()
methods. These allow connection of slots
which take an additional <code class="computeroutput"><a class="link" href="../boost/signals2/connection.html" title="Class connection">signals2::connection</a></code> argument, giving them thread-safe
access to their signal/slot connection when they are invoked. There is also a
@@ -174,7 +174,7 @@
if you have slots which need access to their <code class="computeroutput"><a class="link" href="../boost/signals2/connection.html" title="Class connection">signals2::connection</a></code>
to the signal invoking them (for example to block or disconnect their connection)
you may wish to connect the slots with
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134091680-bb">signals2::signal::connect_extended</a></code>().
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209021696-bb">signals2::signal::connect_extended</a></code>().
This also requires adding an additional connection argument to the slot.
More information on how and why to use extended slots is available
in the <a class="link" href="tutorial.html#signals2.tutorial.extended-slot-type" title="Giving a Slot Access to its Connection (Advanced)">tutorial</a>.
@@ -197,14 +197,14 @@
</li>
<li class="listitem">
<p>The <code class="computeroutput">signal::combiner()</code> method, which formerly returned a reference to the
- signal's combiner has been replaced by <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp75358848-bb">signals2::signal::combiner</a></code>
- (which now returns the combiner by value) and <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp73073984-bb">signals2::signal::set_combiner</a></code>.
+ signal's combiner has been replaced by <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563208963936-bb">signals2::signal::combiner</a></code>
+ (which now returns the combiner by value) and <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563208961328-bb">signals2::signal::set_combiner</a></code>.
</p>
<p>
During porting it should be straightforward to replace uses of the old reference-returning
<code class="computeroutput">signal::combiner()</code>
- function with the new "by-value" <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp75358848-bb">signals2::signal::combiner</a></code>
- and <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp73073984-bb">signals2::signal::set_combiner</a></code> functions.
+ function with the new "by-value" <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563208963936-bb">signals2::signal::combiner</a></code>
+ and <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563208961328-bb">signals2::signal::set_combiner</a></code> functions.
However, you will need to inspect each call of the <code class="computeroutput">combiner</code> method in your code
to determine if your program logic has been broken by the changed
return type.
@@ -248,7 +248,7 @@
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="signals2.api_history"></a>Signals2 API Development</h3></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="api_changes.html#signals2.api_history.1-56">Version 1.56</a></span></dt>
<dt><span class="section"><a href="api_changes.html#signals2.api_history.1-45">Version 1.45</a></span></dt>
<dt><span class="section"><a href="api_changes.html#signals2.api_history.1-40">Version 1.40</a></span></dt>
@@ -271,7 +271,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="signals2.api_history.1-45"></a>Version 1.45</h4></div></div></div>
<p>
- Version 1.45 added <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idp84715072-bb">slot::track_foreign</a></code>(). This method allows tracking
+ Version 1.45 added <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idm46563208769248-bb">slot::track_foreign</a></code>(). This method allows tracking
of objects owned by <code class="computeroutput">shared_ptr</code> classes other than <code class="computeroutput">boost::shared_ptr</code>,
for example <code class="computeroutput">std::shared_ptr</code>.
</p>
@@ -283,7 +283,7 @@
Version 1.40 adds a few new features to the <code class="computeroutput"><a class="link" href="../boost/signals2/shared_connection_block.html" title="Class shared_connection_block">shared_connection_block</a></code>
class to make it more flexible:
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
<code class="computeroutput"><a class="link" href="../boost/signals2/shared_connection_block.html" title="Class shared_connection_block">shared_connection_block</a></code> is now default constructible.
</p></li>
@@ -292,7 +292,7 @@
immediately blocking its connection.
</p></li>
<li class="listitem"><p>
- The <code class="computeroutput"><a class="link" href="../boost/signals2/shared_connection_block.html#idp176086704-bb">shared_connection_block::connection</a></code>() query has been
+ The <code class="computeroutput"><a class="link" href="../boost/signals2/shared_connection_block.html#idm46563209106752-bb">shared_connection_block::connection</a></code>() query has been
added, to provide access to the <code class="computeroutput">shared_connection_block</code>s associated
connection.
</p></li>
@@ -311,7 +311,7 @@
variadic templates (i.e. BOOST_NO_CXX11_VARIADIC_TEMPLATES is defined
by Boost.Config).
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
The "portable syntax" signal and slot classes, i.e. signals2::signal0, signal1, etc.
</p></li>
diff --git a/doc/html/signals2/examples.html b/doc/html/signals2/examples.html
index f5b9efc254..e1b9689027 100644
--- a/doc/html/signals2/examples.html
+++ b/doc/html/signals2/examples.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Example programs</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals2.html" title="Chapter&#160;30.&#160;Boost.Signals2">
+<link rel="up" href="../signals2.html" title="Chapter&#160;33.&#160;Boost.Signals2">
<link rel="prev" href="tutorial.html" title="Tutorial">
<link rel="next" href="reference.html" title="Reference">
</head>
@@ -26,7 +26,7 @@
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="signals2.examples"></a>Example programs</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="examples.html#signals2.examples.misc">Miscellaneous Tutorial Examples</a></span></dt>
<dt><span class="section"><a href="examples.html#signals2.examples.document-view">Document-View</a></span></dt>
<dt><span class="section"><a href="examples.html#signals2.examples.deconstruct">Postconstructors and Predestructors with <code class="computeroutput">deconstruct()</code></a></span></dt>
@@ -34,7 +34,7 @@
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="signals2.examples.misc"></a>Miscellaneous Tutorial Examples</h3></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="examples.html#signals2.examples.tutorial.hello_world_slot">hello_world_slot</a></span></dt>
<dt><span class="section"><a href="examples.html#signals2.examples.tutorial.hello_world_multi_slot">hello_world_multi_slot</a></span></dt>
<dt><span class="section"><a href="examples.html#signals2.examples.tutorial.ordering_slots">ordering_slots</a></span></dt>
@@ -149,7 +149,7 @@
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="signals2.examples.document-view"></a>Document-View</h3></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="examples.html#signals2.examples.document-view.doc_view">doc_view</a></span></dt>
<dt><span class="section"><a href="examples.html#signals2.examples.document-view.doc_view_acm">doc_view_acm</a></span></dt>
<dt><span class="section"><a href="examples.html#signals2.examples.document-view.doc_view_acm_deconstruct">doc_view_acm_deconstruct</a></span></dt>
@@ -194,7 +194,7 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="signals2.examples.deconstruct"></a>Postconstructors and Predestructors with <code class="computeroutput">deconstruct()</code>
</h3></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="examples.html#signals2.examples.deconstruct.postconstructor_ex1">postconstructor_ex1</a></span></dt>
<dt><span class="section"><a href="examples.html#signals2.examples.deconstruct.postconstructor_ex2">postconstructor_ex2</a></span></dt>
<dt><span class="section"><a href="examples.html#signals2.examples.deconstruct.predestructor_example">predestructor_example</a></span></dt>
diff --git a/doc/html/signals2/faq.html b/doc/html/signals2/faq.html
index d7f8016710..020169240a 100644
--- a/doc/html/signals2/faq.html
+++ b/doc/html/signals2/faq.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Frequently Asked Questions</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals2.html" title="Chapter&#160;30.&#160;Boost.Signals2">
+<link rel="up" href="../signals2.html" title="Chapter&#160;33.&#160;Boost.Signals2">
<link rel="prev" href="thread-safety.html" title="Thread-Safety">
<link rel="next" href="rationale.html" title="Design Rationale">
</head>
@@ -27,20 +27,22 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="signals2.faq"></a>Frequently Asked Questions</h2></div></div></div>
<div class="qandaset">
-<a name="idp397945328"></a><dl>
-<dt>1. <a href="faq.html#idp397945584">Don't noncopyable signal semantics mean that a class
+<a name="idm45927781428288"></a><dl>
+<dt>1. <a href="faq.html#idm45927781428032">Don't noncopyable signal semantics mean that a class
with a signal member will be noncopyable as well?</a>
</dt>
-<dt>2. <a href="faq.html#idp397947936">Is Boost.Signals2 thread-safe?</a>
+<dt>2. <a href="faq.html#idm45927781425680">Is Boost.Signals2 thread-safe?</a>
</dt>
</dl>
-<table border="0" width="100%" summary="Q and A Set">
+<table border="0" style="width: 100%;">
+<colgroup>
<col align="left" width="1%">
<col>
+</colgroup>
<tbody>
<tr class="question">
<td align="left" valign="top">
-<a name="idp397945584"></a><a name="idp397945840"></a><p><b>1.</b></p>
+<a name="idm45927781428032"></a><a name="idm45927781427776"></a><p><b>1.</b></p>
</td>
<td align="left" valign="top"><p>Don't noncopyable signal semantics mean that a class
with a signal member will be noncopyable as well?</p></td>
@@ -55,7 +57,7 @@
</tr>
<tr class="question">
<td align="left" valign="top">
-<a name="idp397947936"></a><a name="idp397948192"></a><p><b>2.</b></p>
+<a name="idm45927781425680"></a><a name="idm45927781425424"></a><p><b>2.</b></p>
</td>
<td align="left" valign="top"><p>Is Boost.Signals2 thread-safe?</p></td>
</tr>
@@ -69,7 +71,7 @@
with signal invocation, you will need to use automatic connection management.
That is, the objects will need to be owned by
<code class="computeroutput">shared_ptr</code> and passed to the slot's
- <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idp131977696-bb">track</a></code>() method before the slot is connected.
+ <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idm46563208783264-bb">track</a></code>() method before the slot is connected.
The <code class="computeroutput"><a class="link" href="../boost/signals2/trackable.html" title="Class trackable">signals2::trackable</a></code> scheme of automatic connection management
is NOT thread-safe, and is only provided to ease porting of single-threaded
code from Boost.Signals to Boost.Signals2.
diff --git a/doc/html/signals2/rationale.html b/doc/html/signals2/rationale.html
index 8b061bc956..4b283787d5 100644
--- a/doc/html/signals2/rationale.html
+++ b/doc/html/signals2/rationale.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Design Rationale</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals2.html" title="Chapter&#160;30.&#160;Boost.Signals2">
+<link rel="up" href="../signals2.html" title="Chapter&#160;33.&#160;Boost.Signals2">
<link rel="prev" href="faq.html" title="Frequently Asked Questions">
<link rel="next" href="api_changes.html" title="Signals2 API Changes">
</head>
@@ -26,18 +26,18 @@
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="signals2.rationale"></a>Design Rationale</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="rationale.html#idp397957936">User-level Connection Management</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp397976576">Automatic Connection Management</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp397993696"><code class="computeroutput">optional_last_value</code> as the Default Combiner</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp398000240">Combiner Interface</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp398015312">Connection Interfaces: += operator</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp398034688">Signals2 Mutex Classes</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp398045168">Comparison with other Signal/Slot implementations</a></span></dt>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="rationale.html#idm45927781415552">User-level Connection Management</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45927781396912">Automatic Connection Management</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45927781379792"><code class="computeroutput">optional_last_value</code> as the Default Combiner</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45927781373248">Combiner Interface</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45927781357248">Connection Interfaces: += operator</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45927781337872">Signals2 Mutex Classes</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45927781327392">Comparison with other Signal/Slot implementations</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp397957936"></a>User-level Connection Management</h3></div></div></div>
+<a name="idm45927781415552"></a>User-level Connection Management</h3></div></div></div>
<p> Users need to have fine control over the connection of
signals to slots and their eventual disconnection. The primary approach
taken by Boost.Signals2 is to return a
@@ -45,14 +45,14 @@
connected/disconnected query, manual disconnection, and an
automatic disconnection on destruction mode (<code class="computeroutput"><a class="link" href="../boost/signals2/scoped_connection.html" title="Class scoped_connection">signals2::scoped_connection</a></code>).
In addition, two other interfaces are supported by the
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp64426752-bb">signal::disconnect</a></code> overloaded method:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209009120-bb">signal::disconnect</a></code> overloaded method:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><span class="bold"><strong>Pass slot to
disconnect</strong></span>: in this interface model, the
disconnection of a slot connected with
- <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idp134764096-bb">connect</a>(typeof(sig)::slot_type(slot_func))</code> is
+ <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">connect</a>(typeof(sig)::slot_type(slot_func))</code> is
performed via
- <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idp64426752-bb">disconnect</a>(slot_func)</code>. Internally,
+ <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idm46563209009120-bb">disconnect</a>(slot_func)</code>. Internally,
a linear search using slot comparison is performed and the
slot, if found, is removed from the list. Unfortunately,
querying connectedness ends up as a
@@ -64,7 +64,7 @@
slots to be arbitrary function objects. While this approach is
essentially equivalent to the connection approach taken by Boost.Signals2,
it is possibly more error-prone for several reasons:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="circle">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem"><p>Connections and disconnections must be paired, so
the problem becomes similar to the problems incurred when
pairing <code class="computeroutput">new</code> and <code class="computeroutput">delete</code> for
@@ -80,14 +80,14 @@
</ul></div>
<p> This type of interface is supported in Boost.Signals2
via the slot grouping mechanism, and the overload of
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp64426752-bb">signal::disconnect</a></code>
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209009120-bb">signal::disconnect</a></code>
which takes an argument of the signal's <code class="computeroutput">Group</code> type.</p>
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp397976576"></a>Automatic Connection Management</h3></div></div></div>
+<a name="idm45927781396912"></a>Automatic Connection Management</h3></div></div></div>
<p>Automatic connection management in Signals2
depends on the use of <code class="computeroutput">boost::shared_ptr</code> to
manage the lifetimes of tracked objects. This is differs from
@@ -129,7 +129,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp397993696"></a><code class="computeroutput">optional_last_value</code> as the Default Combiner</h3></div></div></div>
+<a name="idm45927781379792"></a><code class="computeroutput">optional_last_value</code> as the Default Combiner</h3></div></div></div>
<p>
The default combiner for Boost.Signals2 has changed from the <code class="computeroutput">last_value</code>
combiner used by default in the original Boost.Signals library.
@@ -145,7 +145,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp398000240"></a>Combiner Interface</h3></div></div></div>
+<a name="idm45927781373248"></a>Combiner Interface</h3></div></div></div>
<p> The Combiner interface was chosen to mimic a call to an
algorithm in the C++ standard library. It is felt that by viewing
slot call results as merely a sequence of values accessed by input
@@ -273,14 +273,14 @@ private:
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp398015312"></a>Connection Interfaces: += operator</h3></div></div></div>
+<a name="idm45927781357248"></a>Connection Interfaces: += operator</h3></div></div></div>
<p> Boost.Signals2 supports a connection syntax with the form
- <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idp134764096-bb">connect</a>(slot)</code>, but a
+ <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">connect</a>(slot)</code>, but a
more terse syntax <code class="computeroutput">sig += slot</code> has been suggested (and
has been used by other signals &amp; slots implementations). There
are several reasons as to why this syntax has been
rejected:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><span class="bold"><strong>It's unnecessary</strong></span>: the
connection syntax supplied by Boost.Signals2 is no less
powerful that that supplied by the <code class="computeroutput">+=</code>
@@ -313,7 +313,7 @@ private:
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp398034688"></a>Signals2 Mutex Classes</h3></div></div></div>
+<a name="idm45927781337872"></a>Signals2 Mutex Classes</h3></div></div></div>
<p>
The Boost.Signals2 library provides 2 mutex classes: <code class="computeroutput"><a class="link" href="../boost/signals2/mutex.html" title="Class mutex">boost::signals2::mutex</a></code>,
and <code class="computeroutput"><a class="link" href="../boost/signals2/dummy_mutex.html" title="Class dummy_mutex">boost::signals2::dummy_mutex</a></code>. The motivation for providing
@@ -331,14 +331,14 @@ private:
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp398045168"></a>Comparison with other Signal/Slot implementations</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="rationale.html#idp398045872">libsigc++</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp398052992">.NET delegates</a></span></dt>
+<a name="idm45927781327392"></a>Comparison with other Signal/Slot implementations</h3></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="rationale.html#idm45927781326688">libsigc++</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45927781319568">.NET delegates</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp398045872"></a>libsigc++</h4></div></div></div>
+<a name="idm45927781326688"></a>libsigc++</h4></div></div></div>
<p> <a href="http://libsigc.sourceforge.net" target="_top">libsigc++</a> is a C++
signals &amp; slots library that originally started as part of
an initiative to wrap the C interfaces to <a href="http://www.gtk.org" target="_top">GTK</a> libraries in C++, and has
@@ -350,7 +350,7 @@ private:
connections. There
are some major differences in design that separate these
libraries:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><span class="bold"><strong>Slot definitions</strong></span>:
slots in libsigc++ are created using a set of primitives
defined by the library. These primitives allow binding of
@@ -368,14 +368,14 @@ private:
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp398052992"></a>.NET delegates</h4></div></div></div>
+<a name="idm45927781319568"></a>.NET delegates</h4></div></div></div>
<p> <a href="http://www.microsoft.com" target="_top">Microsoft</a>
has introduced the .NET Framework and an associated set of
languages and language extensions, one of which is the
delegate. Delegates are similar to signals and slots, but they
are more limited than most C++ signals and slots implementations
in that they:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>Require exact type matches between a delegate and what
it is calling.</p></li>
<li class="listitem"><p>Only return the result of the last target called, with no option for customization.</p></li>
diff --git a/doc/html/signals2/reference.html b/doc/html/signals2/reference.html
index 446c431ccb..4efe8e2d18 100644
--- a/doc/html/signals2/reference.html
+++ b/doc/html/signals2/reference.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Reference</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals2.html" title="Chapter&#160;30.&#160;Boost.Signals2">
+<link rel="up" href="../signals2.html" title="Chapter&#160;33.&#160;Boost.Signals2">
<link rel="prev" href="examples.html" title="Example programs">
<link rel="next" href="../boost/signals2/connection.html" title="Class connection">
</head>
@@ -26,7 +26,7 @@
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="signals2.reference"></a>Reference</h2></div></div></div>
-<div class="toc"><dl>
+<div class="toc"><dl class="toc">
<dt><span class="section"><a href="reference.html#header.boost.signals2_hpp">Header &lt;boost/signals2.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.signals2.connection_hpp">Header &lt;boost/signals2/connection.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.signals2.deconstruct_hpp">Header &lt;boost/signals2/deconstruct.hpp&gt;</a></span></dt>
@@ -56,7 +56,7 @@
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">signals2</span> <span class="special">{</span>
<span class="keyword">class</span> <a class="link" href="../boost/signals2/connection.html" title="Class connection">connection</a><span class="special">;</span>
- <span class="keyword">void</span> <a class="link" href="../boost/signals2/connection.html#boost.signals2.connection.swap_idp65272864"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="../boost/signals2/connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">,</span> <a class="link" href="../boost/signals2/connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
+ <span class="keyword">void</span> <a class="link" href="../boost/signals2/connection.html#boost.signals2.connection.swap_idm46563209424000"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="../boost/signals2/connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">,</span> <a class="link" href="../boost/signals2/connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">class</span> <a class="link" href="../boost/signals2/scoped_connection.html" title="Class scoped_connection">scoped_connection</a><span class="special">;</span>
<span class="special">}</span>
<span class="special">}</span></pre>
@@ -95,7 +95,7 @@
<span class="keyword">namespace</span> <span class="identifier">signals2</span> <span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/last_value.html" title="Class template last_value">last_value</a><span class="special">;</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/last_value_vo_idp180502960.html" title="Class last_value&lt;void&gt;">last_value</a><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/last_val_idm46563209228656.html" title="Class last_value&lt;void&gt;">last_value</a><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span><span class="special">;</span>
<span class="keyword">class</span> <a class="link" href="../boost/signals2/no_slots_error.html" title="Class no_slots_error">no_slots_error</a><span class="special">;</span>
<span class="special">}</span>
@@ -117,7 +117,7 @@
<span class="keyword">namespace</span> <span class="identifier">signals2</span> <span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/optional_last_value.html" title="Class template optional_last_value">optional_last_value</a><span class="special">;</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/optional_last_idp134194400.html" title="Class optional_last_value&lt;void&gt;">optional_last_value</a><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/optional_idm46563209170304.html" title="Class optional_last_value&lt;void&gt;">optional_last_value</a><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">}</span></pre>
</div>
@@ -148,7 +148,7 @@
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Signature<span class="special">,</span> <span class="keyword">typename</span> Combiner<span class="special">,</span> <span class="keyword">typename</span> Group<span class="special">,</span>
<span class="keyword">typename</span> GroupCompare<span class="special">,</span> <span class="keyword">typename</span> SlotFunction<span class="special">,</span>
<span class="keyword">typename</span> ExtendedSlotFunction<span class="special">,</span> <span class="keyword">typename</span> Mutex<span class="special">&gt;</span>
- <span class="keyword">void</span> <a class="link" href="../boost/signals2/signal.html#boost.signals2.signal.swap_idp183276416"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="../boost/signals2/signal.html" title="Class template signal">signal</a><span class="special">&lt;</span><span class="identifier">Signature</span><span class="special">,</span> <span class="identifier">Combiner</span><span class="special">,</span> <span class="identifier">Group</span><span class="special">,</span> <span class="identifier">GroupCompare</span><span class="special">,</span> <span class="identifier">SlotFunction</span><span class="special">,</span> <span class="identifier">ExtendedSlotFunction</span><span class="special">,</span> <span class="identifier">Mutex</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">,</span>
+ <span class="keyword">void</span> <a class="link" href="../boost/signals2/signal.html#boost.signals2.signal.swap_idm46563208951120"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="../boost/signals2/signal.html" title="Class template signal">signal</a><span class="special">&lt;</span><span class="identifier">Signature</span><span class="special">,</span> <span class="identifier">Combiner</span><span class="special">,</span> <span class="identifier">Group</span><span class="special">,</span> <span class="identifier">GroupCompare</span><span class="special">,</span> <span class="identifier">SlotFunction</span><span class="special">,</span> <span class="identifier">ExtendedSlotFunction</span><span class="special">,</span> <span class="identifier">Mutex</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">,</span>
<a class="link" href="../boost/signals2/signal.html" title="Class template signal">signal</a><span class="special">&lt;</span><span class="identifier">Signature</span><span class="special">,</span> <span class="identifier">Combiner</span><span class="special">,</span> <span class="identifier">Group</span><span class="special">,</span> <span class="identifier">GroupCompare</span><span class="special">,</span> <span class="identifier">SlotFunction</span><span class="special">,</span> <span class="identifier">ExtendedSlotFunction</span><span class="special">,</span> <span class="identifier">Mutex</span><span class="special">&gt;</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">}</span></pre>
@@ -180,7 +180,7 @@
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Group<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/keywords/group_type.html" title="Class template group_type">group_type</a><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> GroupCompare<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/keywords/group_compare_type.html" title="Class template group_compare_type">group_compare_type</a><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> SlotFunction<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/keywords/slot_function_type.html" title="Class template slot_function_type">slot_function_type</a><span class="special">;</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ExtendedSlotFunction<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/keywords/extended_slot_idp294596352.html" title="Class template extended_slot_function_type">extended_slot_function_type</a><span class="special">;</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> ExtendedSlotFunction<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/keywords/extended_idm46563208897600.html" title="Class template extended_slot_function_type">extended_slot_function_type</a><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Mutex<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="../boost/signals2/keywords/mutex_type.html" title="Class template mutex_type">mutex_type</a><span class="special">;</span>
<span class="special">}</span>
<span class="special">}</span>
diff --git a/doc/html/signals2/tests.html b/doc/html/signals2/tests.html
index 8e1077d4fe..2a51f4816c 100644
--- a/doc/html/signals2/tests.html
+++ b/doc/html/signals2/tests.html
@@ -4,11 +4,11 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Testsuite</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals2.html" title="Chapter&#160;30.&#160;Boost.Signals2">
+<link rel="up" href="../signals2.html" title="Chapter&#160;33.&#160;Boost.Signals2">
<link rel="prev" href="api_changes.html" title="Signals2 API Changes">
-<link rel="next" href="../boost_staticassert.html" title="Chapter&#160;31.&#160;Boost.StaticAssert">
+<link rel="next" href="../boost_staticassert.html" title="Chapter&#160;34.&#160;Boost.StaticAssert">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -26,10 +26,10 @@
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="signals2.tests"></a>Testsuite</h2></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="tests.html#idp398189328">Acceptance tests</a></span></dt></dl></div>
+<div class="toc"><dl class="toc"><dt><span class="section"><a href="tests.html#idm45927781183232">Acceptance tests</a></span></dt></dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp398189328"></a>Acceptance tests</h3></div></div></div>
+<a name="idm45927781183232"></a>Acceptance tests</h3></div></div></div>
<div class="informaltable"><table class="table">
<colgroup>
<col>
@@ -54,7 +54,7 @@
<tr>
<td><p><a href="../../../libs/signals2/test/dead_slot_test.cpp" target="_top">dead_slot_test.cpp</a></p></td>
<td><p>run</p></td>
-<td><p>Ensure that calling <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134764096-bb">connect</a></code> with a slot
+<td><p>Ensure that calling <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">connect</a></code> with a slot
that has already expired does not actually
connect to the slot.</p></td>
<td>&#160;</td>
diff --git a/doc/html/signals2/thread-safety.html b/doc/html/signals2/thread-safety.html
index bb0eae45d5..0fe5dc4603 100644
--- a/doc/html/signals2/thread-safety.html
+++ b/doc/html/signals2/thread-safety.html
@@ -4,9 +4,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Thread-Safety</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals2.html" title="Chapter&#160;30.&#160;Boost.Signals2">
+<link rel="up" href="../signals2.html" title="Chapter&#160;33.&#160;Boost.Signals2">
<link rel="prev" href="../boost/signals2/trackable.html" title="Class trackable">
<link rel="next" href="faq.html" title="Frequently Asked Questions">
</head>
@@ -26,14 +26,14 @@
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="signals2.thread-safety"></a>Thread-Safety</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="thread-safety.html#idp397892816">Introduction</a></span></dt>
-<dt><span class="section"><a href="thread-safety.html#idp397898912">Signals and combiners</a></span></dt>
-<dt><span class="section"><a href="thread-safety.html#idp397921584">Connections and other classes</a></span></dt>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="thread-safety.html#idm45927781481296">Introduction</a></span></dt>
+<dt><span class="section"><a href="thread-safety.html#idm45927781475136">Signals and combiners</a></span></dt>
+<dt><span class="section"><a href="thread-safety.html#idm45927781452032">Connections and other classes</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp397892816"></a>Introduction</h3></div></div></div>
+<a name="idm45927781481296"></a>Introduction</h3></div></div></div>
<p>
The primary motivation for Boost.Signals2 is to provide a version of
the original Boost.Signals library which can be used safely in a
@@ -50,7 +50,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp397898912"></a>Signals and combiners</h3></div></div></div>
+<a name="idm45927781475136"></a>Signals and combiners</h3></div></div></div>
<p>
Each signal object default-constructs a <code class="computeroutput">Mutex</code> object to protect
its internal state. Furthermore, a <code class="computeroutput">Mutex</code> is created
@@ -62,7 +62,7 @@
signal's methods are called. The mutex is usually held until the
method completes, however there is one major exception to this rule. When
a signal is invoked by calling
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp78479280-bb">signal::operator()</a></code>,
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563208982592-bb">signal::operator()</a></code>,
the invocation first acquires a lock on the signal's mutex. Then
it obtains a handle to the signal's slot list and combiner. Next
it releases the signal's mutex, before invoking the combiner to
@@ -82,7 +82,7 @@
find the next callable slot while iterating through the signal's
slot list.
</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>The <code class="computeroutput">Mutex</code> associated with the connection to the
slot is locked.</p></li>
<li class="listitem"><p>All the tracked <code class="computeroutput">weak_ptr</code> associated with the
@@ -109,7 +109,7 @@
Note that since we unlock the connection's mutex before executing
its associated slot, it is possible a slot will still be executing
after it has been disconnected by a
- <code class="computeroutput"><a class="link" href="../boost/signals2/connection.html#idp38334944-bb">connection::disconnect</a>()</code>, if
+ <code class="computeroutput"><a class="link" href="../boost/signals2/connection.html#idm46563209465584-bb">connection::disconnect</a>()</code>, if
the disconnect was called concurrently with signal invocation.
</p>
<p>
@@ -126,7 +126,7 @@
Future signal invocations will receive a handle to the newly created deep
copy of the slot list, and the old slot list will be destroyed once it
is no longer in use. Similarly, if you change a signal's combiner with
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp73073984-bb">signal::set_combiner</a></code>
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563208961328-bb">signal::set_combiner</a></code>
while a signal invocation is running concurrently, the concurrent
signal invocation will continue to use the old combiner undisturbed,
while future signal invocations will receive a handle to the new combiner.
@@ -164,7 +164,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp397921584"></a>Connections and other classes</h3></div></div></div>
+<a name="idm45927781452032"></a>Connections and other classes</h3></div></div></div>
<p>
The methods of the <code class="computeroutput"><a class="link" href="../boost/signals2/connection.html" title="Class connection">signals2::connection</a></code> class are thread-safe,
with the exception of assignment and swap. This is achived via locking the mutex
diff --git a/doc/html/signals2/tutorial.html b/doc/html/signals2/tutorial.html
index 1e91c6fe38..b97d3af3ae 100644
--- a/doc/html/signals2/tutorial.html
+++ b/doc/html/signals2/tutorial.html
@@ -4,10 +4,10 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Tutorial</title>
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals2.html" title="Chapter&#160;30.&#160;Boost.Signals2">
-<link rel="prev" href="../signals2.html" title="Chapter&#160;30.&#160;Boost.Signals2">
+<link rel="up" href="../signals2.html" title="Chapter&#160;33.&#160;Boost.Signals2">
+<link rel="prev" href="../signals2.html" title="Chapter&#160;33.&#160;Boost.Signals2">
<link rel="next" href="examples.html" title="Example programs">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -26,20 +26,20 @@
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="signals2.tutorial"></a>Tutorial</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#idp394522480">How to Read this Tutorial</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394529264">Hello, World! (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394536896">Calling Multiple Slots</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394564960">Passing Values to and from Slots</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394616720">Connection Management</a></span></dt>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="tutorial.html#idm45927784853120">How to Read this Tutorial</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784846368">Hello, World! (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784838688">Calling Multiple Slots</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784810560">Passing Values to and from Slots</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784758800">Connection Management</a></span></dt>
<dt><span class="section"><a href="tutorial.html#signals2.tutorial.document-view">Example: Document-View</a></span></dt>
<dt><span class="section"><a href="tutorial.html#signals2.tutorial.extended-slot-type">Giving a Slot Access to its Connection (Advanced)</a></span></dt>
<dt><span class="section"><a href="tutorial.html#signals2.tutorial.signal-mutex-template-parameter">Changing the <code class="computeroutput">Mutex</code> Type of a Signal (Advanced).</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394767824">Linking against the Signals2 library</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784607440">Linking against the Signals2 library</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp394522480"></a>How to Read this Tutorial</h3></div></div></div>
+<a name="idm45927784853120"></a>How to Read this Tutorial</h3></div></div></div>
<p>This tutorial is not meant to be read linearly. Its top-level
structure roughly separates different concepts in the library
(e.g., handling calling multiple slots, passing values to and from
@@ -59,7 +59,7 @@ will not need to read the <span class="emphasis"><em>Advanced</em></span> sectio
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp394529264"></a>Hello, World! (Beginner)</h3></div></div></div>
+<a name="idm45927784846368"></a>Hello, World! (Beginner)</h3></div></div></div>
<p>The following example writes "Hello, World!" using signals and
slots. First, we create a signal <code class="computeroutput">sig</code>, a signal that
takes no arguments and has a void return value. Next, we connect
@@ -89,14 +89,14 @@ World!".</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp394536896"></a>Calling Multiple Slots</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#idp394537440">Connecting Multiple Slots (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394547616">Ordering Slot Call Groups (Intermediate)</a></span></dt>
+<a name="idm45927784838688"></a>Calling Multiple Slots</h3></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="tutorial.html#idm45927784838144">Connecting Multiple Slots (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784827968">Ordering Slot Call Groups (Intermediate)</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394537440"></a>Connecting Multiple Slots (Beginner)</h4></div></div></div>
+<a name="idm45927784838144"></a>Connecting Multiple Slots (Beginner)</h4></div></div></div>
<p>Calling a single slot from a signal isn't very interesting, so
we can make the Hello, World program more interesting by splitting
the work of printing "Hello, World!" into two completely separate
@@ -140,7 +140,7 @@ Hello, World!
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394547616"></a>Ordering Slot Call Groups (Intermediate)</h4></div></div></div>
+<a name="idm45927784827968"></a>Ordering Slot Call Groups (Intermediate)</h4></div></div></div>
<p>Slots are free to have side effects, and that can mean that some
slots will have to be called before others even if they are not connected in that order. The Boost.Signals2
library allows slots to be placed into groups that are ordered in
@@ -166,7 +166,7 @@ group parameter and those that don't? The "unnamed" slots (i.e., those
that have been connected without specifying a group name) can be
placed at the front or back of the slot list (by passing
<code class="computeroutput">boost::signals2::at_front</code> or <code class="computeroutput">boost::signals2::at_back</code>
-as the last parameter to <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134764096-bb">connect</a></code>, respectively),
+as the last parameter to <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">connect</a></code>, respectively),
and default to the end of the list. When
a group is specified, the final <code class="computeroutput">at_front</code> or <code class="computeroutput">at_back</code>
parameter describes where the slot
@@ -204,14 +204,14 @@ Hello, World!
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp394564960"></a>Passing Values to and from Slots</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#idp394565520">Slot Arguments (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394578384">Signal Return Values (Advanced)</a></span></dt>
+<a name="idm45927784810560"></a>Passing Values to and from Slots</h3></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="tutorial.html#idm45927784810000">Slot Arguments (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784797136">Signal Return Values (Advanced)</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394565520"></a>Slot Arguments (Beginner)</h4></div></div></div>
+<a name="idm45927784810000"></a>Slot Arguments (Beginner)</h4></div></div></div>
<p>Signals can propagate arguments to each of the slots they call.
For instance, a signal that propagates mouse motion events might
want to pass along the new mouse coordinates and whether the mouse
@@ -272,7 +272,7 @@ connected to <code class="computeroutput">sig</code> must therefore be able to t
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394578384"></a>Signal Return Values (Advanced)</h4></div></div></div>
+<a name="idm45927784797136"></a>Signal Return Values (Advanced)</h4></div></div></div>
<p>Just as slots can receive arguments, they can also return
values. These values can then be returned back to the caller of the
signal through a <em class="firstterm">combiner</em>. The combiner is a mechanism
@@ -451,20 +451,20 @@ struct DistributeRequest {
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp394616720"></a>Connection Management</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#idp394617264">Disconnecting Slots (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394626864">Blocking Slots (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394633632">Scoped Connections (Intermediate)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394644896">Disconnecting Equivalent Slots (Intermediate)</a></span></dt>
+<a name="idm45927784758800"></a>Connection Management</h3></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="tutorial.html#idm45927784758256">Disconnecting Slots (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784748720">Blocking Slots (Beginner)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784741888">Scoped Connections (Intermediate)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784730688">Disconnecting Equivalent Slots (Intermediate)</a></span></dt>
<dt><span class="section"><a href="tutorial.html#signals2.tutorial.connection-management">Automatic Connection Management (Intermediate)</a></span></dt>
<dt><span class="section"><a href="tutorial.html#signals2.tutorial.deconstruct">Postconstructors and Predestructors (Advanced)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394698368">When Can Disconnections Occur? (Intermediate)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp394705968">Passing Slots (Intermediate)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784677088">When Can Disconnections Occur? (Intermediate)</a></span></dt>
+<dt><span class="section"><a href="tutorial.html#idm45927784669488">Passing Slots (Intermediate)</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394617264"></a>Disconnecting Slots (Beginner)</h4></div></div></div>
+<a name="idm45927784758256"></a>Disconnecting Slots (Beginner)</h4></div></div></div>
<p>Slots aren't expected to exist indefinitely after they are
connected. Often slots are only used to receive a few events and
are then disconnected, and the programmer needs control to decide
@@ -473,8 +473,8 @@ when a slot should no longer be connected.</p>
<code class="computeroutput"><a class="link" href="../boost/signals2/connection.html" title="Class connection">boost::signals2::connection</a></code> class. The
<code class="computeroutput">connection</code> class uniquely represents the connection
between a particular signal and a particular slot. The
-<code class="computeroutput"><a class="link" href="../boost/signals2/connection.html#idp200558704-bb">connected</a>()</code> method checks if the signal and slot are
-still connected, and the <code class="computeroutput"><a class="link" href="../boost/signals2/connection.html#idp38334944-bb">disconnect()</a></code> method
+<code class="computeroutput"><a class="link" href="../boost/signals2/connection.html#idm46563209460720-bb">connected</a>()</code> method checks if the signal and slot are
+still connected, and the <code class="computeroutput"><a class="link" href="../boost/signals2/connection.html#idm46563209465584-bb">disconnect()</a></code> method
disconnects the signal and slot if they are connected before it is
called. Each call to the signal's <code class="computeroutput">connect()</code> method
returns a connection object, which can be used to determine if the
@@ -490,7 +490,7 @@ connection still exists or to disconnect the signal and slot.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394626864"></a>Blocking Slots (Beginner)</h4></div></div></div>
+<a name="idm45927784748720"></a>Blocking Slots (Beginner)</h4></div></div></div>
<p>Slots can be temporarily "blocked", meaning that they will be
ignored when the signal is invoked but have not been permanently disconnected.
This is typically used to prevent infinite recursion in cases where
@@ -499,7 +499,7 @@ invoked again. A
<code class="computeroutput"><a class="link" href="../boost/signals2/shared_connection_block.html" title="Class shared_connection_block">boost::signals2::shared_connection_block</a></code> object will
temporarily block a slot. The connection is unblocked by either
destroying or calling
-<code class="computeroutput"><a class="link" href="../boost/signals2/shared_connection_block.html#idp82434720-bb">unblock</a></code>
+<code class="computeroutput"><a class="link" href="../boost/signals2/shared_connection_block.html#idm46563209120112-bb">unblock</a></code>
on all the
<code class="computeroutput">shared_connection_block</code> objects that reference the connection.
Here is an example of
@@ -519,7 +519,7 @@ blocking/unblocking slots:</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394633632"></a>Scoped Connections (Intermediate)</h4></div></div></div>
+<a name="idm45927784741888"></a>Scoped Connections (Intermediate)</h4></div></div></div>
<p>The <code class="computeroutput"><a class="link" href="../boost/signals2/scoped_connection.html" title="Class scoped_connection">boost::signals2::scoped_connection</a></code> class
references a signal/slot connection that will be disconnected when
the <code class="computeroutput">scoped_connection</code> class goes out of scope. This
@@ -540,22 +540,22 @@ e.g.,</p>
</p>
<pre class="programlisting">
// doesn't compile due to compiler attempting to copy a temporary scoped_connection object
-// boost::signals2::scoped_connection c0 = sig.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134764096-bb">connect</a></code>(ShortLived());
+// boost::signals2::scoped_connection c0 = sig.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">connect</a></code>(ShortLived());
// okay
-boost::signals2::scoped_connection c1(sig.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134764096-bb">connect</a></code>(ShortLived()));
+boost::signals2::scoped_connection c1(sig.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">connect</a></code>(ShortLived()));
// also okay
boost::signals2::scoped_connection c2;
-c2 = sig.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134764096-bb">connect</a></code>(ShortLived());
+c2 = sig.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">connect</a></code>(ShortLived());
</pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394644896"></a>Disconnecting Equivalent Slots (Intermediate)</h4></div></div></div>
+<a name="idm45927784730688"></a>Disconnecting Equivalent Slots (Intermediate)</h4></div></div></div>
<p>One can disconnect slots that are equivalent to a given function
object using a form of the
-<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp64426752-bb">signal::disconnect</a></code> method, so long as
+<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209009120-bb">signal::disconnect</a></code> method, so long as
the type of the function object has an accessible <code class="computeroutput">==</code>
operator. For instance:
@@ -610,7 +610,7 @@ public:
// ...
NewsMessageArea *newsMessageArea = new NewsMessageArea(/* ... */);
// ...
-deliverNews.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134764096-bb">connect</a></code>(boost::bind(&amp;NewsMessageArea::displayNews,
+deliverNews.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">connect</a></code>(boost::bind(&amp;NewsMessageArea::displayNews,
newsMessageArea, _1));
</pre>
<p>However, what if the user closes the news message area,
@@ -618,21 +618,21 @@ destroying the <code class="computeroutput">newsMessageArea</code> object that
<code class="computeroutput">deliverNews</code> knows about? Most likely, a segmentation
fault will occur. However, with Boost.Signals2 one may track any object
which is managed by a shared_ptr, by using
-<code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idp131977696-bb">slot::track</a></code>. A slot will automatically
+<code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idm46563208783264-bb">slot::track</a></code>. A slot will automatically
disconnect when any of its tracked objects expire. In
addition, Boost.Signals2 will ensure that no tracked object expires
while the slot it is associated with is in mid-execution. It does so by creating
temporary shared_ptr copies of the slot's tracked objects before executing it.
To track <code class="computeroutput">NewsMessageArea</code>, we use a shared_ptr to manage
its lifetime, and pass the shared_ptr to the slot via its
-<code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idp131977696-bb">slot::track</a></code>
+<code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idm46563208783264-bb">slot::track</a></code>
method before connecting it,
e.g.:</p>
<pre class="programlisting">
// ...
boost::shared_ptr&lt;NewsMessageArea&gt; newsMessageArea(new NewsMessageArea(/* ... */));
// ...
-deliverNews.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134764096-bb">connect</a></code>(signal_type::slot_type(&amp;NewsMessageArea::displayNews,
+deliverNews.<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">connect</a></code>(signal_type::slot_type(&amp;NewsMessageArea::displayNews,
newsMessageArea.get(), _1).track(newsMessageArea));
</pre>
<p>
@@ -647,14 +647,14 @@ deliverNews.<code class="computeroutput"><a class="link" href="../boost/signals2
<code class="computeroutput">newsMessageArea</code> itself, a copy of the <code class="computeroutput">shared_ptr</code> would
have been bound into the slot function, preventing the <code class="computeroutput">shared_ptr</code>
from expiring. However, the use of
- <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idp131977696-bb">slot::track</a></code>
+ <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idm46563208783264-bb">slot::track</a></code>
implies we wish to allow the tracked object to expire, and automatically
disconnect the connection when this occurs.
</p>
<p>
<code class="computeroutput">shared_ptr</code> classes other than <code class="computeroutput">boost::shared_ptr</code>
(such as <code class="computeroutput">std::shared_ptr</code>) may also be tracked for connection management
- purposes. They are supported by the <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idp84715072-bb">slot::track_foreign</a></code> method.
+ purposes. They are supported by the <code class="computeroutput"><a class="link" href="../boost/signals2/slot.html#idm46563208769248-bb">slot::track_foreign</a></code> method.
</p>
</div>
<div class="section">
@@ -696,10 +696,10 @@ deliverNews.<code class="computeroutput"><a class="link" href="../boost/signals2
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394698368"></a>When Can Disconnections Occur? (Intermediate)</h4></div></div></div>
+<a name="idm45927784677088"></a>When Can Disconnections Occur? (Intermediate)</h4></div></div></div>
<p>Signal/slot disconnections occur when any of these conditions
occur:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>The connection is explicitly disconnected via the connection's
<code class="computeroutput">disconnect</code> method directly, or indirectly via the
signal's <code class="computeroutput">disconnect</code> method, or
@@ -731,7 +731,7 @@ signal.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp394705968"></a>Passing Slots (Intermediate)</h4></div></div></div>
+<a name="idm45927784669488"></a>Passing Slots (Intermediate)</h4></div></div></div>
<p>Slots in the Boost.Signals2 library are created from arbitrary
function objects, and therefore have no fixed type. However, it is
commonplace to require that slots be passed through interfaces that
@@ -920,7 +920,7 @@ private:
access to a <code class="computeroutput"><a class="link" href="../boost/signals2/connection.html" title="Class connection">signals2::connection</a></code> object which references
the invoking signal-slot connection. The difficulty is,
the <code class="computeroutput">connection</code> object is returned by the
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134764096-bb">signal::connect</a></code>
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209038672-bb">signal::connect</a></code>
method, and therefore is not available until after the slot is
already connected to the signal. This can be particularly troublesome
in a multi-threaded environment where the signal may be invoked
@@ -928,11 +928,11 @@ private:
</p>
<p>
Therefore, the signal classes provide
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134091680-bb">signal::connect_extended</a></code>
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209021696-bb">signal::connect_extended</a></code>
methods, which allow slots which take an extra argument to be connected to a signal.
The extra argument is a <code class="computeroutput"><a class="link" href="../boost/signals2/connection.html" title="Class connection">signals2::connection</a></code> object which refers
to the signal-slot connection currently invoking the slot.
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134091680-bb">signal::connect_extended</a></code>
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209021696-bb">signal::connect_extended</a></code>
uses slots of the type given by the
<code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#boost.signals2.signal.extended_slot_type">signal::extended_slot_type</a></code>
typedef.
@@ -941,7 +941,7 @@ private:
The examples section includes an
<a class="link" href="examples.html#signals2.examples.tutorial.extended_slot" title="extended_slot">extended_slot</a>
program which demonstrates the syntax for using
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp134091680-bb">signal::connect_extended</a></code>.
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm46563209021696-bb">signal::connect_extended</a></code>.
</p>
</div>
<div class="section">
@@ -974,13 +974,13 @@ private:
for its <code class="computeroutput">Mutex</code> types, you could write:
</p>
<pre class="programlisting">namespace bs2 = boost::signals2;
-using bs2::keywords;
+using namespace bs2::keywords;
bs2::signal_type&lt;void (int), mutex_type&lt;bs2::dummy_mutex&gt; &gt;::type sig;
</pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp394767824"></a>Linking against the Signals2 library</h3></div></div></div>
+<a name="idm45927784607440"></a>Linking against the Signals2 library</h3></div></div></div>
<p>Unlike the original Boost.Signals library, Boost.Signals2 is currently header-only.
</p>
</div>