summaryrefslogtreecommitdiff
path: root/libs/signals
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 /libs/signals
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 'libs/signals')
-rw-r--r--libs/signals/doc/html/boost/last_value.html90
-rw-r--r--libs/signals/doc/html/boost/last_value_voi_idp15355280.html75
-rw-r--r--libs/signals/doc/html/boost/signal.html98
-rw-r--r--libs/signals/doc/html/boost/signalN.html410
-rw-r--r--libs/signals/doc/html/boost/signals/connection.html347
-rw-r--r--libs/signals/doc/html/boost/signals/scoped_connection.html144
-rw-r--r--libs/signals/doc/html/boost/signals/trackable.html154
-rw-r--r--libs/signals/doc/html/boost/slot.html84
-rw-r--r--libs/signals/doc/html/boost/visit_each.html98
-rw-r--r--libs/signals/doc/html/doc_HTML.manifest16
-rw-r--r--libs/signals/doc/html/index.html123
-rw-r--r--libs/signals/doc/html/index/s04.html189
-rw-r--r--libs/signals/doc/html/index/s05.html212
-rw-r--r--libs/signals/doc/html/index/s06.html436
-rw-r--r--libs/signals/doc/html/signals/reference.html112
-rw-r--r--libs/signals/doc/html/signals/tests.html104
-rw-r--r--libs/signals/doc/html/signals/tutorial.html1151
17 files changed, 0 insertions, 3843 deletions
diff --git a/libs/signals/doc/html/boost/last_value.html b/libs/signals/doc/html/boost/last_value.html
deleted file mode 100644
index 87b517561f..0000000000
--- a/libs/signals/doc/html/boost/last_value.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class template last_value</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../signals/reference.html#header.boost.last_value_hpp" title="Header &lt;boost/last_value.hpp&gt;">
-<link rel="prev" href="visit_each.html" title="Function template visit_each">
-<link rel="next" href="last_value_voi_idp15355280.html" title="Class last_value&lt;void&gt;">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="visit_each.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.last_value_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="last_value_voi_idp15355280.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="boost.last_value"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template last_value</span></h2>
-<p>boost::last_value &#8212; Evaluate an InputIterator sequence and return the
- last value in the sequence.</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../signals/reference.html#header.boost.last_value_hpp" title="Header &lt;boost/last_value.hpp&gt;">boost/last_value.hpp</a>&gt;
-
-</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="last_value.html" title="Class template last_value">last_value</a> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// types</span>
- <span class="keyword">typedef</span> <span class="identifier">T</span> <a name="boost.last_value.result_type"></a><span class="identifier">result_type</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="last_value.html#idp15339184-bb">invocation</a></span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIterator<span class="special">&gt;</span>
- <span class="identifier">result_type</span> <a class="link" href="last_value.html#idp15339744-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">InputIterator</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">}</span><span class="special">;</span></pre></div>
-<div class="refsect1">
-<a name="idp63752080"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="idp63752496"></a><h3>
-<a name="idp15339184-bb"></a><code class="computeroutput">last_value</code> invocation</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIterator<span class="special">&gt;</span>
- <span class="identifier">result_type</span> <a name="idp15339744-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">InputIterator</span> first<span class="special">,</span> <span class="identifier">InputIterator</span> last<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Requires:</span></p></td>
-<td><p><code class="computeroutput">first != last</code></p></td>
-</tr>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>Dereferences every iterator in the sequence <code class="computeroutput">[first, last)</code>.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td><p>The result of dereferencing the iterator <code class="computeroutput">last-1</code>.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li></ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63770240"></a><h3>Specializations</h3>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><a class="link" href="last_value_voi_idp15355280.html" title="Class last_value&lt;void&gt;">Class last_value&lt;void&gt;</a></p></li></ul></div>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="visit_each.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.last_value_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="last_value_voi_idp15355280.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/boost/last_value_voi_idp15355280.html b/libs/signals/doc/html/boost/last_value_voi_idp15355280.html
deleted file mode 100644
index c420aef9d4..0000000000
--- a/libs/signals/doc/html/boost/last_value_voi_idp15355280.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class last_value&lt;void&gt;</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../signals/reference.html#header.boost.last_value_hpp" title="Header &lt;boost/last_value.hpp&gt;">
-<link rel="prev" href="last_value.html" title="Class template last_value">
-<link rel="next" href="../index/s04.html" title="Frequently Asked Questions">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="last_value.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.last_value_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../index/s04.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="boost.last_value_voi_idp15355280"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class last_value&lt;void&gt;</span></h2>
-<p>boost::last_value&lt;void&gt; &#8212; Evaluate an InputIterator sequence.</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../signals/reference.html#header.boost.last_value_hpp" title="Header &lt;boost/last_value.hpp&gt;">boost/last_value.hpp</a>&gt;
-
-</span>
-<span class="keyword">class</span> <a class="link" href="last_value_voi_idp15355280.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">public</span><span class="special">:</span>
- <span class="comment">// types</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.last_value_voi_idp15355280.result_type"></a><span class="identifier">result_type</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="last_value_voi_idp15355280.html#idp13983296-bb">invocation</a></span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIterator<span class="special">&gt;</span>
- <span class="identifier">result_type</span> <a class="link" href="last_value_voi_idp15355280.html#idp14154592-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">InputIterator</span><span class="special">,</span> <span class="identifier">InputIterator</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">}</span><span class="special">;</span></pre></div>
-<div class="refsect1">
-<a name="idp63797280"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="idp63797696"></a><h3>
-<a name="idp13983296-bb"></a><code class="computeroutput">last_value</code> invocation</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> InputIterator<span class="special">&gt;</span>
- <span class="identifier">result_type</span> <a name="idp14154592-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">InputIterator</span> first<span class="special">,</span> <span class="identifier">InputIterator</span> last<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>Dereferences every iterator in the sequence <code class="computeroutput">[first, last)</code>.</p></td>
-</tr></tbody>
-</table></div>
-</li></ol></div>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="last_value.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.last_value_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../index/s04.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/boost/signal.html b/libs/signals/doc/html/boost/signal.html
deleted file mode 100644
index e56a327d35..0000000000
--- a/libs/signals/doc/html/boost/signal.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class template signal</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../signals/reference.html#header.boost.signal_hpp" title="Header &lt;boost/signal.hpp&gt;">
-<link rel="prev" href="signalN.html" title="Class template signalN">
-<link rel="next" href="slot.html" title="Class template slot">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="signalN.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.signal_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="slot.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="boost.signal"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template signal</span></h2>
-<p>boost::signal &#8212; Safe multicast callback.</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../signals/reference.html#header.boost.signal_hpp" title="Header &lt;boost/signal.hpp&gt;">boost/signal.hpp</a>&gt;
-
-</span><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> <a class="link" href="last_value.html" title="Class template last_value">last_value</a><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span><span class="special">,</span>
- <span class="keyword">typename</span> Group <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">typename</span> GroupCompare <span class="special">=</span> std::less<span class="special">&lt;</span><span class="identifier">Group</span><span class="special">&gt;</span><span class="special">,</span>
- <span class="keyword">typename</span> SlotFunction <span class="special">=</span> functionN<span class="special">&lt;</span><span class="identifier">Signature</span><span class="special">&gt;</span> <span class="special">&gt;</span>
-<span class="keyword">class</span> <a class="link" href="signal.html" title="Class template signal">signal</a> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="signalN.html" title="Class template signalN">signalN</a>&lt;R, T1, T2, ..., TN, Combiner, Group, GroupCompare, SlotFunction&gt;
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// <a class="link" href="signal.html#boost.signalconstruct-copy-destruct">construct/copy/destruct</a></span>
- <a class="link" href="signal.html#idp8148944-bb"><span class="identifier">signal</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">combiner_type</span><span class="special">&amp;</span> <span class="special">=</span> <span class="identifier">combiner_type</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">group_compare_type</span><span class="special">&amp;</span> <span class="special">=</span> <span class="identifier">group_compare_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
-<span class="special">}</span><span class="special">;</span></pre></div>
-<div class="refsect1">
-<a name="idp63228816"></a><h2>Description</h2>
-<p>Class template <a class="link" href="signal.html" title="Class template signal">signal</a> is a thin
- wrapper around the numbered class templates <a class="link" href="signalN.html" title="Class template signalN">signal0</a>, <a class="link" href="signalN.html" title="Class template signalN">signal1</a>, etc. It accepts a function
- type with N arguments instead of N separate arguments, and
- derives from the appropriate <a class="link" href="signalN.html" title="Class template signalN">signalN</a>
- instantiation.</p>
-<p>All functionality of this class template is in its base
- class <a class="link" href="signalN.html" title="Class template signalN">signalN</a>.</p>
-<div class="refsect2">
-<a name="idp63233440"></a><h3>Template Parameters</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">typename</span> Signature</pre>
-<p></p>
-</li>
-<li class="listitem"><pre class="literallayout"><span class="keyword">typename</span> Combiner <span class="special">=</span> <a class="link" href="last_value.html" title="Class template last_value">last_value</a><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span></pre></li>
-<li class="listitem"><pre class="literallayout"><span class="keyword">typename</span> Group <span class="special">=</span> <span class="keyword">int</span></pre></li>
-<li class="listitem"><pre class="literallayout"><span class="keyword">typename</span> GroupCompare <span class="special">=</span> std::less<span class="special">&lt;</span><span class="identifier">Group</span><span class="special">&gt;</span></pre></li>
-<li class="listitem"><pre class="literallayout"><span class="keyword">typename</span> SlotFunction <span class="special">=</span> functionN<span class="special">&lt;</span><span class="identifier">Signature</span><span class="special">&gt;</span></pre></li>
-</ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63249952"></a><h3>
-<a name="boost.signalconstruct-copy-destruct"></a><code class="computeroutput">signal</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><a name="idp8148944-bb"></a><span class="identifier">signal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">combiner_type</span><span class="special">&amp;</span> combiner <span class="special">=</span> <span class="identifier">combiner_type</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">group_compare_type</span><span class="special">&amp;</span> compare <span class="special">=</span> <span class="identifier">group_compare_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td>Initializes the base class with the given combiner
- and comparison objects.</td>
-</tr></tbody>
-</table></div>
-</li></ol></div>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="signalN.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.signal_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="slot.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/boost/signalN.html b/libs/signals/doc/html/boost/signalN.html
deleted file mode 100644
index 8d82e52210..0000000000
--- a/libs/signals/doc/html/boost/signalN.html
+++ /dev/null
@@ -1,410 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class template signalN</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../signals/reference.html#header.boost.signal_hpp" title="Header &lt;boost/signal.hpp&gt;">
-<link rel="prev" href="../signals/reference.html" title="Reference">
-<link rel="next" href="signal.html" title="Class template signal">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../signals/reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.signal_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="boost.signalN"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template signalN</span></h2>
-<p>boost::signalN &#8212; Set of safe multicast callback types.</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../signals/reference.html#header.boost.signal_hpp" title="Header &lt;boost/signal.hpp&gt;">boost/signal.hpp</a>&gt;
-
-</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R<span class="special">,</span> <span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="special">...</span><span class="special">,</span> <span class="keyword">typename</span> TN<span class="special">,</span>
- <span class="keyword">typename</span> Combiner <span class="special">=</span> <a class="link" href="last_value.html" title="Class template last_value">last_value</a><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span><span class="special">,</span> <span class="keyword">typename</span> Group <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span>
- <span class="keyword">typename</span> GroupCompare <span class="special">=</span> std::less<span class="special">&lt;</span><span class="identifier">Group</span><span class="special">&gt;</span><span class="special">,</span>
- <span class="keyword">typename</span> SlotFunction <span class="special">=</span> functionN<span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...</span><span class="special">,</span> <span class="identifier">TN</span><span class="special">&gt;</span> <span class="special">&gt;</span>
-<span class="keyword">class</span> <a class="link" href="signalN.html" title="Class template signalN">signalN</a> <span class="special">:</span> <span class="keyword">public</span> <a class="link" href="signals/trackable.html" title="Class trackable">signals::trackable</a>,
- <span class="keyword">private</span> noncopyable <span class="comment">// Exposition only</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// types</span>
- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Combiner</span><span class="special">::</span><span class="identifier">result_type</span> <a name="boost.signalN.result_type"></a><span class="identifier">result_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Combiner</span> <a name="boost.signalN.combiner_type"></a><span class="identifier">combiner_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">Group</span> <a name="boost.signalN.group_type"></a><span class="identifier">group_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">GroupCompare</span> <a name="boost.signalN.group_compare_type"></a><span class="identifier">group_compare_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">SlotFunction</span> <a name="boost.signalN.slot_function_type"></a><span class="identifier">slot_function_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <a class="link" href="slot.html" title="Class template slot">slot</a><span class="special">&lt;</span><span class="identifier">SlotFunction</span><span class="special">&gt;</span> <a name="boost.signalN.slot_type"></a><span class="identifier">slot_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.signalN.slot_result_type"></a><span class="identifier">slot_result_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.signalN.slot_call_iterator"></a><span class="identifier">slot_call_iterator</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">T1</span> <a name="boost.signalN.argument_type"></a><span class="identifier">argument_type</span><span class="special">;</span> <span class="comment">// If N == 1</span>
- <span class="keyword">typedef</span> <span class="identifier">T1</span> <a name="boost.signalN.first_argument_type"></a><span class="identifier">first_argument_type</span><span class="special">;</span> <span class="comment">// If N == 2</span>
- <span class="keyword">typedef</span> <span class="identifier">T2</span> <a name="boost.signalN.second_argument_type"></a><span class="identifier">second_argument_type</span><span class="special">;</span> <span class="comment">// If N == 2</span>
- <span class="keyword">typedef</span> <span class="identifier">T1</span> <a name="boost.signalN.arg1_type"></a><span class="identifier">arg1_type</span><span class="special">;</span>
- <span class="keyword">typedef</span> <span class="identifier">T2</span> <a name="boost.signalN.arg2_type"></a><span class="identifier">arg2_type</span><span class="special">;</span>
- .
- .
- .
- <span class="keyword">typedef</span> <span class="identifier">TN</span> <a name="boost.signalN.argN_type"></a><span class="identifier">argN_type</span><span class="special">;</span>
-
- <span class="comment">// static constants</span>
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">arity</span> = <span class="identifier">N</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="signalN.html#boost.signalNconstruct-copy-destruct">construct/copy/destruct</a></span>
- <a class="link" href="signalN.html#idp14409344-bb"><span class="identifier">signalN</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">combiner_type</span><span class="special">&amp;</span> <span class="special">=</span> <span class="identifier">combiner_type</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">group_compare_type</span><span class="special">&amp;</span> <span class="special">=</span> <span class="identifier">group_compare_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="signalN.html#idp14582288-bb"><span class="special">~</span><span class="identifier">signalN</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="signalN.html#idp14928272-bb">connection management</a></span>
- <a class="link" href="signals/connection.html" title="Class connection">signals::connection</a>
- <a class="link" href="signalN.html#idp13700032-bb"><span class="identifier">connect</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">slot_type</span><span class="special">&amp;</span><span class="special">,</span> <span class="identifier">signals</span><span class="special">::</span><span class="identifier">connect_position</span> <span class="special">=</span> <span class="identifier">signals</span><span class="special">::</span><span class="identifier">at_back</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="signals/connection.html" title="Class connection">signals::connection</a>
- <a class="link" href="signalN.html#idp5514832-bb"><span class="identifier">connect</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">group_type</span><span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">slot_type</span><span class="special">&amp;</span><span class="special">,</span>
- <span class="identifier">signals</span><span class="special">::</span><span class="identifier">connect_position</span> <span class="special">=</span> <span class="identifier">signals</span><span class="special">::</span><span class="identifier">at_back</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">void</span> <a class="link" href="signalN.html#idp9833888-bb"><span class="identifier">disconnect</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">group_type</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Slot<span class="special">&gt;</span> <span class="keyword">void</span> <a class="link" href="signalN.html#idp5157296-bb"><span class="identifier">disconnect</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Slot</span><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">void</span> <a class="link" href="signalN.html#idp13854544-bb"><span class="identifier">disconnect_all_slots</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">bool</span> <a class="link" href="signalN.html#idp6011728-bb"><span class="identifier">empty</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="signalN.html#idp13510624-bb"><span class="identifier">num_slots</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="signalN.html#idp9677968-bb">invocation</a></span>
- <span class="identifier">result_type</span> <a class="link" href="signalN.html#idp7589696-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">arg1_type</span><span class="special">,</span> <span class="identifier">arg2_type</span><span class="special">,</span> <span class="special">...</span><span class="special">,</span> <span class="identifier">argN_type</span><span class="special">)</span><span class="special">;</span>
- <span class="identifier">result_type</span> <a class="link" href="signalN.html#idp11235056-bb"><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span></a><span class="special">(</span><span class="identifier">arg1_type</span><span class="special">,</span> <span class="identifier">arg2_type</span><span class="special">,</span> <span class="special">...</span><span class="special">,</span> <span class="identifier">argN_type</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="signalN.html#idp14813456-bb">combiner access</a></span>
- <span class="identifier">combiner_type</span><span class="special">&amp;</span> <a class="link" href="signalN.html#idp15176272-bb"><span class="identifier">combiner</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">const</span> <span class="identifier">combiner_type</span><span class="special">&amp;</span> <a class="link" href="signalN.html#idp14900048-bb"><span class="identifier">combiner</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">}</span><span class="special">;</span></pre></div>
-<div class="refsect1">
-<a name="idp63045280"></a><h2>Description</h2>
-<p>The class template <a class="link" href="signalN.html" title="Class template signalN">signalN</a> covers
- several related classes signal0, signal1, signal2, etc.,
- where the number suffix describes the number of function
- parameters the signal and its connected slots will
- take. Instead of enumerating all classes, a single pattern
- <a class="link" href="signalN.html" title="Class template signalN">signalN</a> will be described, where N
- represents the number of function parameters.</p>
-<div class="refsect2">
-<a name="idp63047712"></a><h3>
-<a name="boost.signalNconstruct-copy-destruct"></a><code class="computeroutput">signalN</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><a name="idp14409344-bb"></a><span class="identifier">signalN</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">combiner_type</span><span class="special">&amp;</span> combiner <span class="special">=</span> <span class="identifier">combiner_type</span><span class="special">(</span><span class="special">)</span><span class="special">,</span>
- <span class="keyword">const</span> <span class="identifier">group_compare_type</span><span class="special">&amp;</span> compare <span class="special">=</span> <span class="identifier">group_compare_type</span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td>Initializes the signal to contain no slots, copies the given combiner into internal storage, and stores the given group comparison function object to compare groups.</td>
-</tr>
-<tr>
-<td><p><span class="term">Postconditions:</span></p></td>
-<td><code class="computeroutput">this-&gt;<a class="link" href="signalN.html#idp6011728-bb">empty</a>()</code></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><a name="idp14582288-bb"></a><span class="special">~</span><span class="identifier">signalN</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td>Disconnects all slots connected to <code class="computeroutput">*this</code>.</td>
-</tr></tbody>
-</table></div>
-</li>
-</ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63069920"></a><h3>
-<a name="idp14928272-bb"></a><code class="computeroutput">signalN</code> connection management</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><a name="idp14296960-bb"></a><a class="link" href="signals/connection.html" title="Class connection">signals::connection</a>
-<a name="idp13700032-bb"></a><span class="identifier">connect</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">slot_type</span><span class="special">&amp;</span> slot<span class="special">,</span>
- <span class="identifier">signals</span><span class="special">::</span><span class="identifier">connect_position</span> at <span class="special">=</span> <span class="identifier">signals</span><span class="special">::</span><span class="identifier">at_back</span><span class="special">)</span><span class="special">;</span>
-<a class="link" href="signals/connection.html" title="Class connection">signals::connection</a>
-<a name="idp5514832-bb"></a><span class="identifier">connect</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">group_type</span><span class="special">&amp;</span> group<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">slot_type</span><span class="special">&amp;</span> slot<span class="special">,</span>
- <span class="identifier">signals</span><span class="special">::</span><span class="identifier">connect_position</span> at <span class="special">=</span> <span class="identifier">signals</span><span class="special">::</span><span class="identifier">at_back</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td>Connects the signal this to the incoming
- slot. If the slot is inactive, i.e., any of the trackable
- objects bound by the slot call have been destroyed, then the
- call to connect is a no-op. If the second version of
- <code class="computeroutput">connect</code> is invoked, the
- slot is associated with the given group. The <code class="computeroutput">at</code>
- parameter specifies where the slot should be connected:
- <code class="computeroutput">at_front</code> indicates that the slot will be
- connected at the front of the list or group of slots and
- <code class="computeroutput">at_back</code> indicates that the slot will be
- connected at the back of the list or group of
- slots.</td>
-</tr>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td>A
- <code class="computeroutput"><a class="link" href="signals/connection.html" title="Class connection">signals::connection</a></code>
- object that references the newly-created connection between
- the signal and the slot; if the slot is inactive, returns a
- disconnected connection.</td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>This routine meets the strong exception guarantee,
- where any exception thrown will cause the slot to not be
- connected to the signal.</td>
-</tr>
-<tr>
-<td><p><span class="term">Complexity:</span></p></td>
-<td>Constant time when connecting a slot
- without a group name or logarithmic in the number of groups
- when connecting to a particular
- group.</td>
-</tr>
-<tr>
-<td><p><span class="term">Notes:</span></p></td>
-<td>It is unspecified whether connecting a slot while the
- signal is calling will result in the slot being called
- immediately.</td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><a name="idp5262448-bb"></a><span class="keyword">void</span> <a name="idp9833888-bb"></a><span class="identifier">disconnect</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">group_type</span><span class="special">&amp;</span> group<span class="special">)</span><span class="special">;</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Slot<span class="special">&gt;</span> <span class="keyword">void</span> <a name="idp5157296-bb"></a><span class="identifier">disconnect</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Slot</span><span class="special">&amp;</span> slot<span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td>If the parameter is (convertible to) a
- group name, any slots in the given group are
- disconnected. Otherwise, any slots equal to the given slot
- are disconnected.</td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>Will not throw unless a user destructor or
- equality operator <code class="computeroutput">==</code> throws. If either throws,
- not all slots may be disconnected.</td>
-</tr>
-<tr>
-<td><p><span class="term">Complexity:</span></p></td>
-<td>If a group is given, O(lg g) + k where
- g is the number of groups in the signal and k is the
- number of slots in the group. Otherwise, linear in the
- number of slots connected to the
- signal.</td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="idp13854544-bb"></a><span class="identifier">disconnect_all_slots</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td>Disconnects all slots connected to the signal.</td>
-</tr>
-<tr>
-<td><p><span class="term">Postconditions:</span></p></td>
-<td>
-<code class="computeroutput">this-&gt;<a class="link" href="signalN.html#idp6011728-bb">empty</a>()</code>.</td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>If disconnecting a slot causes an exception to be
- thrown, not all slots may be disconnected.</td>
-</tr>
-<tr>
-<td><p><span class="term">Complexity:</span></p></td>
-<td>Linear in the number of slots known to the
- signal.</td>
-</tr>
-<tr>
-<td><p><span class="term">Notes:</span></p></td>
-<td>May be called at any time within the lifetime of the
- signal, including during calls to the signal's slots.</td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">bool</span> <a name="idp6011728-bb"></a><span class="identifier">empty</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td>
-<code class="computeroutput">true</code> if no slots
- are connected to the signal, and
- <code class="computeroutput">false</code> otherwise.</td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>Will not throw.</td>
-</tr>
-<tr>
-<td><p><span class="term">Complexity:</span></p></td>
-<td>Linear in the number of slots known to the
- signal.</td>
-</tr>
-<tr>
-<td><p><span class="term">Rationale:</span></p></td>
-<td>Slots can disconnect at any point in time,
- including while those same slots are being invoked. It is
- therefore possible that the implementation must search
- through a list of disconnected slots to determine if any
- slots are still connected.</td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp13510624-bb"></a><span class="identifier">num_slots</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td>The number of slots connected to the signal</td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>Will not throw.</td>
-</tr>
-<tr>
-<td><p><span class="term">Complexity:</span></p></td>
-<td>Linear in the number of slots known to the
- signal.</td>
-</tr>
-<tr>
-<td><p><span class="term">Rationale:</span></p></td>
-<td>Slots can disconnect at any point in time,
- including while those same slots are being invoked. It is
- therefore possible that the implementation must search
- through a list of disconnected slots to determine how many
- slots are still connected.</td>
-</tr>
-</tbody>
-</table></div>
-</li>
-</ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63148704"></a><h3>
-<a name="idp9677968-bb"></a><code class="computeroutput">signalN</code> invocation</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><a name="idp12911056-bb"></a><span class="identifier">result_type</span> <a name="idp7589696-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">arg1_type</span> a1<span class="special">,</span> <span class="identifier">arg2_type</span> a2<span class="special">,</span> <span class="special">...</span><span class="special">,</span> <span class="identifier">argN_type</span> aN<span class="special">)</span><span class="special">;</span>
-<span class="identifier">result_type</span> <a name="idp11235056-bb"></a><span class="keyword">operator</span><span class="special">(</span><span class="special">)</span><span class="special">(</span><span class="identifier">arg1_type</span> a1<span class="special">,</span> <span class="identifier">arg2_type</span> a2<span class="special">,</span> <span class="special">...</span><span class="special">,</span> <span class="identifier">argN_type</span> aN<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td>Invokes the combiner with a
- <code class="computeroutput">slot_call_iterator</code> range
- [first, last) corresponding to the sequence of calls to the
- slots connected to signal
- <code class="computeroutput">*this</code>. Dereferencing an
- iterator in this range causes a slot call with the given set
- of parameters <code class="computeroutput">(a1, a2, ...,
- aN)</code>, the result of which is returned from
- the iterator dereference operation.</td>
-</tr>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td>The result returned by the combiner.</td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>If an exception is thrown by a slot call, or if the
- combiner does not dereference any slot past some given slot,
- all slots after that slot in the internal list of connected
- slots will not be invoked.</td>
-</tr>
-<tr>
-<td><p><span class="term">Notes:</span></p></td>
-<td>
-<p class="simpara">Only the slots associated with iterators that are
- actually dereferenced will be invoked. Multiple dereferences
- of the same iterator will not result in multiple slot
- invocations, because the return value of the slot will be
- cached.</p>
-<p class="simpara">The <code class="computeroutput">const</code> version of
- the function call operator will invoke the combiner as
- <code class="computeroutput">const</code>, whereas the
- non-<code class="computeroutput">const</code> version will
- invoke the combiner as
- non-<code class="computeroutput">const</code>.</p>
-<p class="simpara">Calling the function call operator may invoke undefined
- behavior if no slots are connected to the signal, depending
- on the combiner used. The default combiner is well-defined
- for zero slots when the return type is void but is undefined
- when the return type is any other type (because there is no
- way to synthesize a return value).</p>
-</td>
-</tr>
-</tbody>
-</table></div>
-</li></ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63178768"></a><h3>
-<a name="idp14813456-bb"></a><code class="computeroutput">signalN</code> combiner access</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><a name="idp15039520-bb"></a><span class="identifier">combiner_type</span><span class="special">&amp;</span> <a name="idp15176272-bb"></a><span class="identifier">combiner</span><span class="special">(</span><span class="special">)</span><span class="special">;</span>
-<span class="keyword">const</span> <span class="identifier">combiner_type</span><span class="special">&amp;</span> <a name="idp14900048-bb"></a><span class="identifier">combiner</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td>A reference to the stored combiner.</td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>Will not throw.</td>
-</tr>
-</tbody>
-</table></div>
-</li></ol></div>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../signals/reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.signal_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signal.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/boost/signals/connection.html b/libs/signals/doc/html/boost/signals/connection.html
deleted file mode 100644
index 3c9b85b38c..0000000000
--- a/libs/signals/doc/html/boost/signals/connection.html
+++ /dev/null
@@ -1,347 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class connection</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../../signals/reference.html#header.boost.signals.connection_hpp" title="Header &lt;boost/signals/connection.hpp&gt;">
-<link rel="prev" href="trackable.html" title="Class trackable">
-<link rel="next" href="scoped_connection.html" title="Class scoped_connection">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="trackable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../signals/reference.html#header.boost.signals.connection_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="scoped_connection.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="boost.signals.connection"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class connection</span></h2>
-<p>boost::signals::connection &#8212; Query/disconnect a signal-slot connection.</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../signals/reference.html#header.boost.signals.connection_hpp" title="Header &lt;boost/signals/connection.hpp&gt;">boost/signals/connection.hpp</a>&gt;
-
-</span>
-<span class="keyword">class</span> <a class="link" href="connection.html" title="Class connection">connection</a> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// <a class="link" href="connection.html#boost.signals.connectionconstruct-copy-destruct">construct/copy/destruct</a></span>
- <a class="link" href="connection.html#idp13432080-bb"><span class="identifier">connection</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="connection.html#idp14895008-bb"><span class="identifier">connection</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
- connection&amp; <a class="link" href="connection.html#idp11771344-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="connection.html#idp14411360-bb">connection management</a></span>
- <span class="keyword">void</span> <a class="link" href="connection.html#idp12155424-bb"><span class="identifier">disconnect</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <a class="link" href="connection.html#idp15454784-bb"><span class="identifier">connected</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="connection.html#idp13757056-bb">blocking</a></span>
- <span class="keyword">void</span> <a class="link" href="connection.html#idp6117280-bb"><span class="identifier">block</span></a><span class="special">(</span><span class="keyword">bool</span> <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">void</span> <a class="link" href="connection.html#idp15138832-bb"><span class="identifier">unblock</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
- <span class="keyword">bool</span> <a class="link" href="connection.html#idp11189952-bb"><span class="identifier">blocked</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="connection.html#idp14777488-bb">modifiers</a></span>
- <span class="keyword">void</span> <a class="link" href="connection.html#idp12380096-bb"><span class="identifier">swap</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="connection.html#idp14350000-bb">comparisons</a></span>
- <span class="keyword">bool</span> <a class="link" href="connection.html#idp12167552-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <a class="link" href="connection.html#idp13473760-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">}</span><span class="special">;</span>
-
-<span class="comment">// <a class="link" href="connection.html#idp13997264-bb">specialized algorithms</a></span>
-<span class="keyword">void</span> <a class="link" href="connection.html#boost.signals.connection.swap"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">,</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span></pre></div>
-<div class="refsect1">
-<a name="idp63456336"></a><h2>Description</h2>
-<p>The <a class="link" href="connection.html" title="Class connection">connection</a> class represents
- a connection between a Signal and a Slot. It is a
- lightweight object that has the ability to query whether the
- signal and slot are currently connected, and to disconnect
- the signal and slot. It is always safe to query or
- disconnect a connection.</p>
-<div class="refsect2">
-<a name="idp63458464"></a><h3>
-<a name="boost.signals.connectionconstruct-copy-destruct"></a><code class="computeroutput">connection</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><a name="idp13432080-bb"></a><span class="identifier">connection</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>Sets the currently represented connection to the
- NULL connection.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Postconditions:</span></p></td>
-<td><p><code class="computeroutput">!this-&gt;<a class="link" href="connection.html#idp15454784-bb">connected</a>()</code>.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><a name="idp14895008-bb"></a><span class="identifier">connection</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p><code class="computeroutput">this</code> references
- the connection referenced by
- <code class="computeroutput">other</code>.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout">connection&amp; <a name="idp11771344-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p><code class="computeroutput">this</code> references
- the connection referenced by
- <code class="computeroutput">other</code>.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-</ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63487520"></a><h3>
-<a name="idp14411360-bb"></a><code class="computeroutput">connection</code> connection management</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="idp12155424-bb"></a><span class="identifier">disconnect</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>If
- <code class="computeroutput">this-&gt;<a class="link" href="connection.html#idp15454784-bb">connected</a>()</code>,
- disconnects the signal and slot referenced by this;
- otherwise, this operation is a no-op.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Postconditions:</span></p></td>
-<td><p><code class="computeroutput">!this-&gt;<a class="link" href="connection.html#idp15454784-bb">connected</a>()</code>.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">bool</span> <a name="idp15454784-bb"></a><span class="identifier">connected</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td><p><code class="computeroutput">true</code> if this
- references a non-NULL connection that is still active
- (connected), and <code class="computeroutput">false</code>
- otherwise.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-</ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63508416"></a><h3>
-<a name="idp13757056-bb"></a><code class="computeroutput">connection</code> blocking</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="idp6117280-bb"></a><span class="identifier">block</span><span class="special">(</span><span class="keyword">bool</span> should_block <span class="special">=</span> <span class="keyword">true</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Requires:</span></p></td>
-<td><code class="computeroutput">connected()</code></td>
-</tr>
-<tr>
-<td><p><span class="term">Postconditions:</span></p></td>
-<td><code class="computeroutput">blocked() == should_block</code></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>Will not throw.</td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="idp15138832-bb"></a><span class="identifier">unblock</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Requires:</span></p></td>
-<td><code class="computeroutput">connected()</code></td>
-</tr>
-<tr>
-<td><p><span class="term">Postconditions:</span></p></td>
-<td><code class="computeroutput">!blocked()</code></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>Will not throw.</td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">bool</span> <a name="idp11189952-bb"></a><span class="identifier">blocked</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td>
-<code class="computeroutput">true</code> if the associated slot is either disconnected or blocked, <code class="computeroutput">false</code> otherwise.</td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td>Will not throw.</td>
-</tr>
-</tbody>
-</table></div>
-</li>
-</ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63537344"></a><h3>
-<a name="idp14777488-bb"></a><code class="computeroutput">connection</code> modifiers</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="idp12380096-bb"></a><span class="identifier">swap</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>Swaps the connections referenced in
- <code class="computeroutput">this</code> and
- <code class="computeroutput">other</code>.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li></ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63549536"></a><h3>
-<a name="idp14350000-bb"></a><code class="computeroutput">connection</code> comparisons</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">bool</span> <a name="idp12167552-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td><p><code class="computeroutput">true</code> if
- <code class="computeroutput">this</code> and
- <code class="computeroutput">other</code> reference the same
- connection or both reference the NULL connection, and
- <code class="computeroutput">false</code>
- otherwise.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">bool</span> <a name="idp13473760-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td><p><code class="computeroutput">true</code> if the
- connection referenced by
- <code class="computeroutput">this</code> precedes the
- connection referenced by
- <code class="computeroutput">other</code> based on some
- unspecified ordering, and
- <code class="computeroutput">false</code>
- otherwise.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-</ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63577088"></a><h3>
-<a name="idp13997264-bb"></a><code class="computeroutput">connection</code> specialized algorithms</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="boost.signals.connection.swap"></a><span class="identifier">swap</span><span class="special">(</span><a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> x<span class="special">,</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> y<span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p><code class="computeroutput">x.swap(y)</code></p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li></ol></div>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="trackable.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../signals/reference.html#header.boost.signals.connection_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="scoped_connection.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/boost/signals/scoped_connection.html b/libs/signals/doc/html/boost/signals/scoped_connection.html
deleted file mode 100644
index 2dadeae7a6..0000000000
--- a/libs/signals/doc/html/boost/signals/scoped_connection.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class scoped_connection</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../../signals/reference.html#header.boost.signals.connection_hpp" title="Header &lt;boost/signals/connection.hpp&gt;">
-<link rel="prev" href="connection.html" title="Class connection">
-<link rel="next" href="../visit_each.html" title="Function template visit_each">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="connection.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../signals/reference.html#header.boost.signals.connection_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../visit_each.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="boost.signals.scoped_connection"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class scoped_connection</span></h2>
-<p>boost::signals::scoped_connection &#8212; Limits a signal-slot connection lifetime to a particular scope.</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../signals/reference.html#header.boost.signals.connection_hpp" title="Header &lt;boost/signals/connection.hpp&gt;">boost/signals/connection.hpp</a>&gt;
-
-</span>
-<span class="keyword">class</span> <a class="link" href="scoped_connection.html" title="Class scoped_connection">scoped_connection</a> <span class="special">:</span> <span class="keyword">private</span> noncopyable <span class="comment">// Exposition only</span>
-<span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// <a class="link" href="scoped_connection.html#boost.signals.scoped_connectionconstruct-copy-destruct">construct/copy/destruct</a></span>
- <a class="link" href="scoped_connection.html#idp14721008-bb"><span class="identifier">scoped_connection</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="scoped_connection.html#idp11489936-bb"><span class="special">~</span><span class="identifier">scoped_connection</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
-
- <span class="comment">// <a class="link" href="scoped_connection.html#idp11394016-bb">connection management</a></span>
- <span class="keyword">void</span> <a class="link" href="scoped_connection.html#idp6411680-bb"><span class="identifier">disconnect</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
- <span class="keyword">bool</span> <a class="link" href="scoped_connection.html#idp11722480-bb"><span class="identifier">connected</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
-<span class="special">}</span><span class="special">;</span></pre></div>
-<div class="refsect1">
-<a name="idp63620368"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="idp63620784"></a><h3>
-<a name="boost.signals.scoped_connectionconstruct-copy-destruct"></a><code class="computeroutput">scoped_connection</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><a name="idp14721008-bb"></a><span class="identifier">scoped_connection</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="connection.html" title="Class connection">connection</a><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p><code class="computeroutput">this</code> references
- the connection referenced by
- <code class="computeroutput">other</code>.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><a name="idp11489936-bb"></a><span class="special">~</span><span class="identifier">scoped_connection</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>If
- <code class="computeroutput">this-&gt;<a class="link" href="scoped_connection.html#idp11722480-bb">connected</a>()</code>,
- disconnects the signal-slot connection.</p></td>
-</tr></tbody>
-</table></div>
-</li>
-</ol></div>
-</div>
-<div class="refsect2">
-<a name="idp63639328"></a><h3>
-<a name="idp11394016-bb"></a><code class="computeroutput">scoped_connection</code> connection management</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">void</span> <a name="idp6411680-bb"></a><span class="identifier">disconnect</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>If
- <code class="computeroutput">this-&gt;<a class="link" href="scoped_connection.html#idp11722480-bb">connected</a>()</code>,
- disconnects the signal and slot referenced by this;
- otherwise, this operation is a no-op.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Postconditions:</span></p></td>
-<td><p><code class="computeroutput">!this-&gt;<a class="link" href="scoped_connection.html#idp11722480-bb">connected</a>()</code>.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><span class="keyword">bool</span> <a name="idp11722480-bb"></a><span class="identifier">connected</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td><p><code class="computeroutput">true</code> if this
- references a non-NULL connection that is still active
- (connected), and <code class="computeroutput">false</code>
- otherwise.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-</ol></div>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="connection.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../signals/reference.html#header.boost.signals.connection_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../visit_each.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/boost/signals/trackable.html b/libs/signals/doc/html/boost/signals/trackable.html
deleted file mode 100644
index e6f75d1754..0000000000
--- a/libs/signals/doc/html/boost/signals/trackable.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class trackable</title>
-<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../../signals/reference.html#header.boost.signals.trackable_hpp" title="Header &lt;boost/signals/trackable.hpp&gt;">
-<link rel="prev" href="../slot.html" title="Class template slot">
-<link rel="next" href="connection.html" title="Class connection">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../slot.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../signals/reference.html#header.boost.signals.trackable_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connection.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="boost.signals.trackable"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class trackable</span></h2>
-<p>boost::signals::trackable &#8212; Enables safe use of multicast callbacks.</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../signals/reference.html#header.boost.signals.trackable_hpp" title="Header &lt;boost/signals/trackable.hpp&gt;">boost/signals/trackable.hpp</a>&gt;
-
-</span>
-<span class="keyword">class</span> <a class="link" href="trackable.html" title="Class trackable">trackable</a> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// <a class="link" href="trackable.html#boost.signals.trackableconstruct-copy-destruct">construct/copy/destruct</a></span>
- <a class="link" href="trackable.html#idp12425984-bb"><span class="identifier">trackable</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="trackable.html#idp15446000-bb"><span class="identifier">trackable</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="trackable.html" title="Class trackable">trackable</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
- trackable&amp; <a class="link" href="trackable.html#idp11425632-bb"><span class="keyword">operator</span><span class="special">=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="trackable.html" title="Class trackable">trackable</a><span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
- <a class="link" href="trackable.html#idp12268880-bb"><span class="special">~</span><span class="identifier">trackable</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
-<span class="special">}</span><span class="special">;</span></pre></div>
-<div class="refsect1">
-<a name="idp63334720"></a><h2>Description</h2>
-<p>The <code class="computeroutput">trackable</code> class provides automatic
- disconnection of signals and slots when objects bound in
- slots (via pointer or reference) are destroyed. The
- <code class="computeroutput">trackable</code> class may only be used as a public
- base class for some other class; when used as such, that
- class may be bound to function objects used as part of
- slots. The manner in which a <code class="computeroutput">trackable</code> object
- tracks the set of signal-slot connections it is a part of is
- unspecified.</p>
-<p>The actual use of <code class="computeroutput">trackable</code> is contingent
- on the presence of appropriate
- <a class="link" href="../visit_each.html" title="Function template visit_each">visit_each</a> overloads for any
- type that may contain pointers or references to trackable
- objects.</p>
-<div class="refsect2">
-<a name="idp63339840"></a><h3>
-<a name="boost.signals.trackableconstruct-copy-destruct"></a><code class="computeroutput">trackable</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
-<pre class="literallayout"><a name="idp12425984-bb"></a><span class="identifier">trackable</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>Sets the list of connected slots to empty.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><a name="idp15446000-bb"></a><span class="identifier">trackable</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="trackable.html" title="Class trackable">trackable</a><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>Sets the list of connected slots to empty.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Rationale:</span></p></td>
-<td><p>Signal-slot connections can only be created via calls to an explicit connect method, and therefore cannot be created here when trackable objects are copied.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout">trackable&amp; <a name="idp11425632-bb"></a><span class="keyword">operator</span><span class="special">=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="trackable.html" title="Class trackable">trackable</a><span class="special">&amp;</span> other<span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>Sets the list of connected slots to empty.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Returns:</span></p></td>
-<td><p><code class="computeroutput">*this</code></p></td>
-</tr>
-<tr>
-<td><p><span class="term">Throws:</span></p></td>
-<td><p>Will not throw.</p></td>
-</tr>
-<tr>
-<td><p><span class="term">Rationale:</span></p></td>
-<td><p>Signal-slot connections can only be created via calls to an explicit connect method, and therefore cannot be created here when trackable objects are copied.</p></td>
-</tr>
-</tbody>
-</table></div>
-</li>
-<li class="listitem">
-<pre class="literallayout"><a name="idp12268880-bb"></a><span class="special">~</span><span class="identifier">trackable</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td><p>Disconnects all signal/slot connections that
- contain a pointer or reference to this trackable object that
- can be found by
- <a class="link" href="../visit_each.html" title="Function template visit_each">visit_each</a>.</p></td>
-</tr></tbody>
-</table></div>
-</li>
-</ol></div>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../slot.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../signals/reference.html#header.boost.signals.trackable_hpp"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="connection.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/boost/slot.html b/libs/signals/doc/html/boost/slot.html
deleted file mode 100644
index 8ca5a82fe6..0000000000
--- a/libs/signals/doc/html/boost/slot.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Class template slot</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../signals/reference.html#header.boost.signals.slot_hpp" title="Header &lt;boost/signals/slot.hpp&gt;">
-<link rel="prev" href="signal.html" title="Class template signal">
-<link rel="next" href="signals/trackable.html" title="Class trackable">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="signal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.signals.slot_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signals/trackable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="boost.slot"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Class template slot</span></h2>
-<p>boost::slot &#8212; Pass slots as function arguments.</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../signals/reference.html#header.boost.signals.slot_hpp" title="Header &lt;boost/signals/slot.hpp&gt;">boost/signals/slot.hpp</a>&gt;
-
-</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="slot.html" title="Class template slot">slot</a> <span class="special">{</span>
-<span class="keyword">public</span><span class="special">:</span>
- <span class="comment">// <a class="link" href="slot.html#boost.slotconstruct-copy-destruct">construct/copy/destruct</a></span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Slot<span class="special">&gt;</span> <a class="link" href="slot.html#idp13350400-bb"><span class="identifier">slot</span></a><span class="special">(</span><span class="identifier">Slot</span><span class="special">)</span><span class="special">;</span>
-<span class="special">}</span><span class="special">;</span></pre></div>
-<div class="refsect1">
-<a name="idp63288992"></a><h2>Description</h2>
-<div class="refsect2">
-<a name="idp63289376"></a><h3>
-<a name="boost.slotconstruct-copy-destruct"></a><code class="computeroutput">slot</code>
- public
- construct/copy/destruct</h3>
-<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
-<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Slot<span class="special">&gt;</span> <a name="idp13350400-bb"></a><span class="identifier">slot</span><span class="special">(</span><span class="identifier">Slot</span> target<span class="special">)</span><span class="special">;</span></pre>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td>
-<p>Invokes
- <code class="computeroutput"><a class="link" href="visit_each.html" title="Function template visit_each">visit_each</a></code>
- (unqualified) to discover pointers and references to
- <code class="computeroutput"><a class="link" href="signals/trackable.html" title="Class trackable">signals::trackable</a></code>
- objects in <code class="computeroutput">target</code>.</p>
-<p>Initializes <code class="computeroutput">this</code> to
- contain the incoming slot
- <code class="computeroutput">target</code>, which may be any
- function object with which a
- <code class="computeroutput">SlotFunction</code> can be
- constructed.</p>
-</td>
-</tr></tbody>
-</table></div>
-</li></ol></div>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="signal.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.signals.slot_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="signals/trackable.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/boost/visit_each.html b/libs/signals/doc/html/boost/visit_each.html
deleted file mode 100644
index 32f5172ec1..0000000000
--- a/libs/signals/doc/html/boost/visit_each.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Function template visit_each</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../signals/reference.html#header.boost.visit_each_hpp" title="Header &lt;boost/visit_each.hpp&gt;">
-<link rel="prev" href="signals/scoped_connection.html" title="Class scoped_connection">
-<link rel="next" href="last_value.html" title="Class template last_value">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="signals/scoped_connection.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.visit_each_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="last_value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="refentry">
-<a name="boost.visit_each"></a><div class="titlepage"></div>
-<div class="refnamediv">
-<h2><span class="refentrytitle">Function template visit_each</span></h2>
-<p>boost::visit_each &#8212; Allow limited exploration of class members.</p>
-</div>
-<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
-<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../signals/reference.html#header.boost.visit_each_hpp" title="Header &lt;boost/visit_each.hpp&gt;">boost/visit_each.hpp</a>&gt;
-
-</span>
-<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Visitor<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">&gt;</span>
- <span class="keyword">void</span> <span class="identifier">visit_each</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Visitor</span><span class="special">&amp;</span> visitor<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> t<span class="special">,</span> <span class="keyword">int</span><span class="special">)</span><span class="special">;</span></pre></div>
-<div class="refsect1">
-<a name="idp63694976"></a><h2>Description</h2>
-<p>The <code class="computeroutput"><a class="link" href="visit_each.html" title="Function template visit_each">visit_each</a></code> mechanism
- allows a visitor to be applied to every subobject in a given
- object. It is used by the Signals library to discover
- <code class="computeroutput"><a class="link" href="signals/trackable.html" title="Class trackable">signals::trackable</a></code> objects within a
- function object, but other uses may surface if used
- universally (e.g., conservative garbage collection). To fit
- within the <code class="computeroutput"><a class="link" href="visit_each.html" title="Function template visit_each">visit_each</a></code> framework,
- a <code class="computeroutput"><a class="link" href="visit_each.html" title="Function template visit_each">visit_each</a></code> overload must be
- supplied for each object type. </p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term">Effects:</span></p></td>
-<td>
-<p><code class="computeroutput">visitor(t)</code>, and for
- every subobject <code class="computeroutput">x</code> of
- <code class="computeroutput">t</code>:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><p>If <code class="computeroutput">x</code> is a reference, <code class="computeroutput">visit_each(visitor, ref(x), 0)</code></p></li>
-<li class="listitem"><p>Otherwise, <code class="computeroutput">visit_each(visitor, x, 0)</code></p></li>
-</ul></div>
-<p>
- </p>
-</td>
-</tr>
-<tr>
-<td><p><span class="term">Notes:</span></p></td>
-<td>
-<p>The third parameter is
- <code class="computeroutput">long</code> for the fallback version
- of <a class="link" href="visit_each.html" title="Function template visit_each">visit_each</a> and the argument
- supplied to this third paramter must always be 0. The third
- parameter is an artifact of the widespread lack of proper
- function template ordering, and will be removed in the future.</p>
-<p>Library authors will be expected to add additional
- overloads that specialize the T argument for their classes, so
- that subobjects can be visited.</p>
-<p>Calls to visit_each are required to be unqualified, to
- enable argument-dependent lookup.</p>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="signals/scoped_connection.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals/reference.html#header.boost.visit_each_hpp"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="last_value.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/doc_HTML.manifest b/libs/signals/doc/html/doc_HTML.manifest
deleted file mode 100644
index dc127b8d16..0000000000
--- a/libs/signals/doc/html/doc_HTML.manifest
+++ /dev/null
@@ -1,16 +0,0 @@
-index.html
-signals/tutorial.html
-signals/reference.html
-boost/signalN.html
-boost/signal.html
-boost/slot.html
-boost/signals/trackable.html
-boost/signals/connection.html
-boost/signals/scoped_connection.html
-boost/visit_each.html
-boost/last_value.html
-boost/last_value_voi_idp15355280.html
-index/s04.html
-index/s05.html
-index/s06.html
-signals/tests.html
diff --git a/libs/signals/doc/html/index.html b/libs/signals/doc/html/index.html
deleted file mode 100644
index c4db384271..0000000000
--- a/libs/signals/doc/html/index.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Chapter&#160;1.&#160;Boost.Signals</title>
-<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="next" href="signals/tutorial.html" title="Tutorial">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
-<td align="center"><a href="../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="signals/tutorial.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
-<div class="chapter">
-<div class="titlepage"><div>
-<div><h2 class="title">
-<a name="signals"></a>Chapter&#160;1.&#160;Boost.Signals</h2></div>
-<div><div class="author"><h3 class="author">
-<span class="firstname">Douglas</span> <span class="surname">Gregor</span>
-</h3></div></div>
-<div><p class="copyright">Copyright &#169; 2001-2004 Douglas Gregor</p></div>
-<div><div class="legalnotice">
-<a name="idp57782720"></a><p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></div>
-</div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="section"><a href="index.html#idp57785264">Introduction</a></span></dt>
-<dt><span class="section"><a href="signals/tutorial.html">Tutorial</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="signals/tutorial.html#idp61506304">How to Read this Tutorial</a></span></dt>
-<dt><span class="section"><a href="signals/tutorial.html#idp57660384">Compatibility Note</a></span></dt>
-<dt><span class="section"><a href="signals/tutorial.html#idp57674496">Hello, World! (Beginner)</a></span></dt>
-<dt><span class="section"><a href="signals/tutorial.html#idp62590288">Calling multiple slots</a></span></dt>
-<dt><span class="section"><a href="signals/tutorial.html#idp62631760">Passing values to and from slots</a></span></dt>
-<dt><span class="section"><a href="signals/tutorial.html#idp62726080">Connection Management</a></span></dt>
-<dt><span class="section"><a href="signals/tutorial.html#idp62804320">Example: Document-View</a></span></dt>
-<dt><span class="section"><a href="signals/tutorial.html#idp62818608">Linking against the Signals library</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="signals/reference.html">Reference</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="signals/reference.html#header.boost.signal_hpp">Header &lt;boost/signal.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="signals/reference.html#header.boost.signals.slot_hpp">Header &lt;boost/signals/slot.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="signals/reference.html#header.boost.signals.trackable_hpp">Header &lt;boost/signals/trackable.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="signals/reference.html#header.boost.signals.connection_hpp">Header &lt;boost/signals/connection.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="signals/reference.html#header.boost.visit_each_hpp">Header &lt;boost/visit_each.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="signals/reference.html#header.boost.last_value_hpp">Header &lt;boost/last_value.hpp&gt;</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="index/s04.html">Frequently Asked Questions</a></span></dt>
-<dt><span class="section"><a href="index/s05.html">Design Overview</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="index/s05.html#idp63842256">Type Erasure</a></span></dt>
-<dt><span class="section"><a href="index/s05.html#idp63850064"><code class="computeroutput">connection</code> class</a></span></dt>
-<dt><span class="section"><a href="index/s05.html#idp63864912">Slot Call Iterator</a></span></dt>
-<dt><span class="section"><a href="index/s05.html#idp63886304"><code class="computeroutput">visit_each</code> function template</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="index/s06.html">Design Rationale</a></span></dt>
-<dd><dl>
-<dt><span class="section"><a href="index/s06.html#idp63905584">Choice of Slot Definitions</a></span></dt>
-<dt><span class="section"><a href="index/s06.html#idp63915360">User-level Connection Management</a></span></dt>
-<dt><span class="section"><a href="index/s06.html#idp63934768">Combiner Interface</a></span></dt>
-<dt><span class="section"><a href="index/s06.html#idp63950240">Connection Interfaces: += operator</a></span></dt>
-<dt><span class="section"><a href="index/s06.html#idp63971904"><code class="computeroutput">trackable</code> rationale</a></span></dt>
-<dt><span class="section"><a href="index/s06.html#idp63993760">Comparison with other Signal/Slot implementations</a></span></dt>
-</dl></dd>
-<dt><span class="section"><a href="signals/tests.html">Testsuite</a></span></dt>
-<dd><dl><dt><span class="section"><a href="signals/tests.html#idp64008752">Acceptance tests</a></span></dt></dl></dd>
-</dl>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp57785264"></a>Introduction</h2></div></div></div>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p><span class="bold"><strong>Boost.Signals is no longer being actively maintained.</strong></span>
-Do not use Boost.Signals for new development (use
-<a class="link" href="">Boost.Signals2</a>
-instead). If you have existing Boost.Signals-based code, it will
-continue to work, but consider moving to Boost.Signals2. There is
-<a class="link" href="">
-a porting guide</a> in the Signals2 documentation.</p></td></tr>
-</table></div>
-<p>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
-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."</p>
-<p>Signals and slots are managed, in that signals and slots (or,
-more properly, objects that occur as part of the slots) track all
-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.</p>
-<p>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.Signals allows the
-user to specify the manner in which multiple return values are
-combined.</p>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer"></div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav"><a accesskey="n" href="signals/tutorial.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/index/s04.html b/libs/signals/doc/html/index/s04.html
deleted file mode 100644
index 91d15903cd..0000000000
--- a/libs/signals/doc/html/index/s04.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<html>
-<head>
-<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">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="prev" href="../boost/last_value_voi_idp15355280.html" title="Class last_value&lt;void&gt;">
-<link rel="next" href="s05.html" title="Design Overview">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../boost/last_value_voi_idp15355280.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s05.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp63812912"></a>Frequently Asked Questions</h2></div></div></div>
-<div class="qandaset">
-<a name="idp63813936"></a><dl>
-<dt>1. <a href="s04.html#idp63814192">Is Boost.Signals being actively maintained?</a>
-</dt>
-<dt>2. <a href="s04.html#idp63817616">Don't noncopyable signal semantics mean that a class
- with a signal member will be noncopyable as well?</a>
-</dt>
-<dt>3. <a href="s04.html#idp63819968">Is Boost.Signals thread-safe?</a>
-</dt>
-<dt>4. <a href="s04.html#idp63822176">How do I get Boost.Signals to work with Qt?</a>
-</dt>
-</dl>
-<table border="0" width="100%" summary="Q and A Set">
-<col align="left" width="1%">
-<col>
-<tbody>
-<tr class="question">
-<td align="left" valign="top">
-<a name="idp63814192"></a><a name="idp63814448"></a><p><b>1.</b></p>
-</td>
-<td align="left" valign="top"><p>Is Boost.Signals being actively maintained?</p></td>
-</tr>
-<tr class="answer">
-<td align="left" valign="top"></td>
-<td align="left" valign="top"><p>No. Please migrate to <a href="http://www.boost.org/doc/html/signals2.html" target="_top">Boost.Signals2</a>.
- There is a
- <a href="http://www.boost.org/doc/html/signals2/api_changes.html#signals2.porting" target="_top">porting guide</a>
- in the Signals2 documentation.</p></td>
-</tr>
-<tr class="question">
-<td align="left" valign="top">
-<a name="idp63817616"></a><a name="idp63817872"></a><p><b>2.</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>
-</tr>
-<tr class="answer">
-<td align="left" valign="top"></td>
-<td align="left" valign="top"><p>No. The compiler will not be able to generate a copy
- constructor or copy assignment operator for your class if it
- has a signal as a member, but you are free to write your own
- copy constructor and/or copy assignment operator. Just don't
- try to copy the signal.</p></td>
-</tr>
-<tr class="question">
-<td align="left" valign="top">
-<a name="idp63819968"></a><a name="idp63820224"></a><p><b>3.</b></p>
-</td>
-<td align="left" valign="top"><p>Is Boost.Signals thread-safe?</p></td>
-</tr>
-<tr class="answer">
-<td align="left" valign="top"></td>
-<td align="left" valign="top"><p>No. Using Boost.Signals in a multithreaded concept is
- very dangerous, and it is very likely that the results will be
- less than satisfying. Boost.Signals will support thread safety
- in the future.</p></td>
-</tr>
-<tr class="question">
-<td align="left" valign="top">
-<a name="idp63822176"></a><a name="idp63822432"></a><p><b>4.</b></p>
-</td>
-<td align="left" valign="top"><p>How do I get Boost.Signals to work with Qt?</p></td>
-</tr>
-<tr class="answer">
-<td align="left" valign="top"></td>
-<td align="left" valign="top">
-<p>When building with Qt, the Moc keywords
- <code class="computeroutput">signals</code> and <code class="computeroutput">slots</code> are defined using
- preprocessor macros, causing programs using Boost.Signals and
- Qt together to fail to compile.</p>
-<p><span class="emphasis"><em>For Qt 4.1 and later</em></span>, This behavior
- can be turned off in Qt on a per-project or per-file basis
- with the <code class="computeroutput">no_keywords</code> option. This works with
- out-of-the-box builds of Boost and Qt. You do not need to
- re-configure, re-build, or duplicate existing libraries. For a
- project where you want to use both Boost.Signals and Qt
- Signals and Slots, the relevant part of your .pro file might
- look like this:</p>
-<pre class="programlisting">
-CONFIG += no_keywords # so Qt won't #define any non-all-caps `keywords'
-INCLUDEPATH += . /usr/local/include/boost-1_33_1/
-macx:LIBS += /usr/local/lib/libboost_signals-1_33_1.a # ...your exact paths may vary
-</pre>
-<p>Now you can mix Boost.Signals and Qt Signals and Slots
- in the same files, and even within the same class or function.
- You will have to use the upper-case versions of Qt macros in
- your own code. See the article <a href="http://scottcollins.net/articles/a-deeper-look-at-signals-and-slots.html" target="_top">A
- Deeper Look at Signals and Slots</a> [off-site] for more
- complete examples and a survey of the strengths of the two
- systems.</p>
-<p><span class="emphasis"><em>Older versions of Qt</em></span> did not
- provide a reliable mechanism for avoiding these unfriendly,
- all lower-case `keyword'-like macros. Although this is a
- problem with Qt and not Boost.Signals, a user can use the two
- systems together with a little extra effort. There are two
- ways to do this:</p>
-<p>The first way involves defining
- the <code class="computeroutput">BOOST_SIGNALS_NAMESPACE</code>
- macro to some other identifier (e.g., <code class="computeroutput">signalslib</code>)
- when building and using the Boost.Signals library. Then the
- namespace of the Boost.Signals library will be
- <code class="computeroutput">boost::BOOST_SIGNALS_NAMESPACE</code> instead of
- <code class="computeroutput">boost::signals</code>. To retain the original namespace
- name in translation units that do not interact with Qt, you
- can use a namespace alias:</p>
-<pre class="programlisting">
- namespace boost {
- namespace signals = BOOST_SIGNALS_NAMESPACE;
- }
-</pre>
-<p>The second way, provided by Frank Hess and improved by
- Niels Dekker, involves
- creating a header <code class="computeroutput">signalslib.hpp</code> that contains
- the following code:</p>
-<pre class="programlisting">#ifndef SIGNALSLIB_HPP_INCLUDED
-#define SIGNALSLIB_HPP_INCLUDED
-
-#if defined(signals) &amp;&amp; defined(QOBJECTDEFS_H) &amp;&amp; \
- !defined(QT_MOC_CPP)
-# undef signals
-# define signals signals
-#endif
-
-#include &lt;boost/signal.hpp&gt;
-namespace boost
-{
- namespace signalslib = signals;
-}
-
-#if defined(signals) &amp;&amp; defined(QOBJECTDEFS_H) &amp;&amp; \
- !defined(QT_MOC_CPP)
-# undef signals
-// Restore the macro definition of "signals", as it was
-// defined by Qt's &lt;qobjectdefs.h&gt;.
-# define signals protected
-#endif
-
-#endif</pre>
-<p>Use this header to include the Boost library, then refer
- to it in the namespace <code class="computeroutput">boost::signalslib</code>. This
- option is often
- preferable to the first option because it can be used without
- recompiling the Signals library binary. </p>
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../boost/last_value_voi_idp15355280.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s05.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/index/s05.html b/libs/signals/doc/html/index/s05.html
deleted file mode 100644
index 91b0842c03..0000000000
--- a/libs/signals/doc/html/index/s05.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Design Overview</title>
-<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="prev" href="s04.html" title="Frequently Asked Questions">
-<link rel="next" href="s06.html" title="Design Rationale">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s04.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s06.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp63841280"></a>Design Overview</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="s05.html#idp63842256">Type Erasure</a></span></dt>
-<dt><span class="section"><a href="s05.html#idp63850064"><code class="computeroutput">connection</code> class</a></span></dt>
-<dt><span class="section"><a href="s05.html#idp63864912">Slot Call Iterator</a></span></dt>
-<dt><span class="section"><a href="s05.html#idp63886304"><code class="computeroutput">visit_each</code> function template</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63842256"></a>Type Erasure</h3></div></div></div>
-<p>"Type erasure", where static type information is eliminated
- by the use of dynamically dispatched interfaces, is used
- extensively within the Boost.Signals library to reduce the amount
- of code generated by template instantiation. Each signal must
- manage a list of slots and their associated connections, along
- with a <code class="computeroutput">std::map</code> to map from group identifiers to
- their associated connections. However, instantiating this map for
- every token type, and perhaps within each translation unit (for
- some popular template instantiation strategies) increase compile
- time overhead and space overhead.</p>
-<p> To combat this so-called "template bloat", we use
- Boost.Function and Boost.Any to store unknown types and
- operations. Then, all of the code for handling the list of slots
- and the mapping from slot identifiers to connections is factored
- into the class <code class="computeroutput">signal_base</code>
- that deals exclusively with the <code class="computeroutput">any</code> and
- <code class="computeroutput">function</code> objects, hiding the
- actual implementations using the well-known pimpl idiom. The
- actual <code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">signalN</a></code> class templates
- deal only with code that will change depending on the number of
- arguments or which is inherently template-dependent (such as
- connection).</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63850064"></a><code class="computeroutput">connection</code> class</h3></div></div></div>
-<p> The <code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a></code> class is
- central to the behavior of the Boost.Signals library. It is the
- only entity within the Boost.Signals system that has knowledge of
- all objects that are associated by a given connection. To be
- specific, the <code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a></code> class
- itself is merely a thin wrapper over a
- <code class="computeroutput">shared_ptr</code> to a
- <code class="computeroutput">basic_connection</code> object.</p>
-<p> <code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a></code> objects are
- stored by all participants in the Signals system: each
- <code class="computeroutput"><a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a></code> object contains a
- list of <code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a></code> objects
- describing all connections it is a part of; similarly, all signals
- contain a set of pairs that define a slot. The pairs consist of a
- slot function object (generally a Boost.Function object) and a
- <code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a></code> object (that will
- disconnect on destruction). Finally, the mapping from slot groups
- to slots is based on the key value in a
- <code class="computeroutput">std::multimap</code> (the stored data
- in the <code class="computeroutput">std::multimap</code> is the
- slot pair).</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63864912"></a>Slot Call Iterator</h3></div></div></div>
-<p> The slot call iterator is conceptually a stack of iterator
- adaptors that modify the behavior of the underlying iterator
- through the list of slots. The following table describes the type
- and behavior of each iterator adaptor required. Note that this is
- only a conceptual model: the implementation collapses all these
- layers into a single iterator adaptor because several popular
- compilers failed to compile the implementation of the conceptual
- model.</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Iterator Adaptor</th>
-<th align="left">Purpose</th>
-</tr></thead>
-<tbody>
-<tr>
-<td align="left"><p>Slot List Iterator</p></td>
-<td align="left"><p>An iterator through the list of slots
- connected to a signal. The <code class="computeroutput">value_type</code> of this
- iterator will be
- <code class="computeroutput">std::pair&lt;any,
- connection&gt;</code>, where the
- <code class="computeroutput">any</code> contains an
- instance of the slot function type.</p></td>
-</tr>
-<tr>
-<td align="left"><p>Filter Iterator Adaptor</p></td>
-<td align="left"><p>This filtering iterator adaptor filters out
- slots that have been disconnected, so we never see a
- disconnected slot in later stages.</p></td>
-</tr>
-<tr>
-<td align="left"><p>Projection Iterator Adaptor</p></td>
-<td align="left"><p>The projection iterator adaptor returns a
- reference to the first member of the pair that constitutes
- a connected slot (e.g., just the
- <code class="computeroutput">boost::any</code> object that
- holds the slot function).</p></td>
-</tr>
-<tr>
-<td align="left"><p>Transform Iterator Adaptor</p></td>
-<td align="left"><p>This transform iterator adaptor performs an
- <code class="computeroutput">any_cast</code> to
- extract a reference to the slot function with the
- appropriate slot function type.</p></td>
-</tr>
-<tr>
-<td align="left"><p>Transform Iterator Adaptor</p></td>
-<td align="left"><p>This transform iterator adaptor calls the
- function object returned by dereferencing the underlying
- iterator with the set of arguments given to the signal
- itself, and returns the result of that slot
- call.</p></td>
-</tr>
-<tr>
-<td align="left"><p>Input Caching Iterator Adaptor</p></td>
-<td align="left"><p>This iterator adaptor caches the result of
- dereferencing the underlying iterator. Therefore,
- dereferencing this iterator multiple times will only
- result in the underlying iterator being dereferenced once;
- thus, a slot can only be called once but its result can be
- used multiple times.</p></td>
-</tr>
-<tr>
-<td align="left"><p>Slot Call Iterator</p></td>
-<td align="left"><p>Iterates over calls to each slot.</p></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63886304"></a><code class="computeroutput">visit_each</code> function template</h3></div></div></div>
-<p> The <code class="computeroutput"><a class="link" href="../boost/visit_each.html" title="Function template visit_each">visit_each</a></code>
- function template is a mechanism for discovering objects that are
- stored within another object. Function template
- <code class="computeroutput"><a class="link" href="../boost/visit_each.html" title="Function template visit_each">visit_each</a></code> takes three
- arguments: an object to explore, a visitor function object that is
- invoked with each subobject, and the <code class="computeroutput">int</code> 0. </p>
-<p> The third parameter is merely a temporary solution to the
- widespread lack of proper function template partial ordering. The
- primary <code class="computeroutput"><a class="link" href="../boost/visit_each.html" title="Function template visit_each">visit_each</a></code>
- function template specifies this third parameter type to be
- <code class="computeroutput">long</code>, whereas any user specializations must specify
- their third parameter to be of type <code class="computeroutput">int</code>. Thus, even
- though a broken compiler cannot tell the ordering between, e.g., a
- match against a parameter <code class="computeroutput">T</code> and a parameter
- <code class="computeroutput">A&lt;T&gt;</code>, it can determine that the conversion from
- the integer 0 to <code class="computeroutput">int</code> is better than the conversion to
- <code class="computeroutput">long</code>. The ordering determined by this conversion thus
- achieves partial ordering of the function templates in a limited,
- but successful, way. The following example illustrates the use of
- this technique:</p>
-<pre class="programlisting">
-template&lt;typename&gt; class A {};
-template&lt;typename T&gt; void foo(T, long);
-template&lt;typename T&gt; void foo(A&lt;T&gt;, int);
-A&lt;T&gt; at;
-foo(at, 0);
-</pre>
-<p> In this example, we assume that our compiler can not tell
- that <code class="computeroutput">A&lt;T&gt;</code> is a better match than
- <code class="computeroutput">T</code>, and therefore assume that the function templates
- cannot be ordered based on that parameter. Then the conversion
- from 0 to <code class="computeroutput">int</code> is better than the conversion from 0 to
- <code class="computeroutput">long</code>, and the second function template is
- chosen. </p>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s04.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s06.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/index/s06.html b/libs/signals/doc/html/index/s06.html
deleted file mode 100644
index 60169ca3bd..0000000000
--- a/libs/signals/doc/html/index/s06.html
+++ /dev/null
@@ -1,436 +0,0 @@
-<html>
-<head>
-<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">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="prev" href="s05.html" title="Design Overview">
-<link rel="next" href="../signals/tests.html" title="Testsuite">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s05.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../signals/tests.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp63904640"></a>Design Rationale</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="s06.html#idp63905584">Choice of Slot Definitions</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp63915360">User-level Connection Management</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp63934768">Combiner Interface</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp63950240">Connection Interfaces: += operator</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp63971904"><code class="computeroutput">trackable</code> rationale</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp63993760">Comparison with other Signal/Slot implementations</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63905584"></a>Choice of Slot Definitions</h3></div></div></div>
-<p> The definition of a slot differs amongst signals and slots
- libraries. Within Boost.Signals, a slot is defined in a very loose
- manner: it can be any function object that is callable given
- parameters of the types specified by the signal, and whose return
- value is convertible to the result type expected by the
- signal. However, alternative definitions have associated pros and
- cons that were considered prior to the construction of
- Boost.Signals.</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
-<p><span class="bold"><strong>Slots derive from a specific base
- class</strong></span>: generally a scheme such as this will require
- all user-defined slots to derive from some library-specified
- <code class="computeroutput">Slot</code> abstract class that defines a virtual
- function calling the slot. Adaptors can be used to convert a
- definition such as this to a definition similar to that used
- by Boost.Signals, but the use of a large number of small
- adaptor classes containing virtual functions has been found to
- cause an unacceptable increase in the size of executables
- (polymorphic class types require more code than
- non-polymorphic types).</p>
-<p> This approach does have the benefit of simplicity of
- implementation and user interface, from an object-oriented
- perspective.</p>
-</li>
-<li class="listitem"><p><span class="bold"><strong>Slots constructed from a set of
- primitives</strong></span>: in this scheme the slot can have a
- limited set of types (often derived from a common abstract
- base class) that are constructed from some library-defined set
- of primitives that often include conversions from free
- function pointers and member function pointers, and a limited
- set of binding capabilities. Such an approach is reasonably
- simple and cover most common cases, but it does not allow a
- large degree of flexibility in slot construction. Libraries
- for function object composition have become quite advanced and
- it is out of the scope of a signals and slots library to
- encorporate such enhancements. Thus Boost.Signals does not
- include argument binding or function object composition
- primitives, but instead provides a hook (via the
- <code class="computeroutput"><a class="link" href="../boost/visit_each.html" title="Function template visit_each">visit_each</a></code>
- mechanism) that allows existing binder/composition libraries
- to provide the necessary information to Signals.</p></li>
-</ul></div>
-<p> Users not satisfied with the slot definition choice may opt
- to replace the default slot function type with an alternative that
- meets their specific needs.</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63915360"></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 approach
- taken by Boost.Signals is to return a
- <code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a></code> object that enables
- connected/disconnected query, manual disconnection, and an
- automatic disconnection on destruction mode. Some other possible
- interfaces include:</p>
-<div class="itemizedlist"><ul class="itemizedlist" 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/signalN.html#idp14296960-bb">connect</a>(slot)</code> is
- performed via
- <code class="computeroutput">sig.<a class="link" href="../boost/signalN.html#idp5262448-bb">disconnect</a>(slot)</code>. Internally,
- a linear search using slot comparison is performed and the
- slot, if found, is removed from the list. Unfortunately,
- querying connectedness will generally also end up as
- linear-time operations. This model also fails for
- implementation reasons when slots become more complex than
- simple function pointers, member function pointers and a
- limited set of compositions and argument binders: to match the
- slot given in the call to
- <code class="computeroutput"><a class="link" href="../boost/signalN.html#idp5262448-bb">disconnect</a></code> with an
- existing slot we would need to be able to compare arbitrary
- function objects, which is not feasible.</p></li>
-<li class="listitem">
-<p><span class="bold"><strong>Pass a token to
- disconnect</strong></span>: this approach identifies slots with a
- token that is easily comparable (e.g., a string), enabling
- slots to be arbitrary function objects. While this approach is
- essentially equivalent to the approach taken by Boost.Signals,
- it is possibly more error-prone for several reasons:</p>
-<div class="itemizedlist"><ul class="itemizedlist" 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
- dynamic memory allocation. While errors of this sort would
- not be catastrophic for a signals and slots
- implementation, their detection is generally
- nontrivial.</p></li>
-<li class="listitem"><p>Tokens must be unique, otherwise two slots will have
- the same name and will be indistinguishable. In
- environments where many connections will be made
- dynamically, name generation becomes an additional task
- for the user. Uniqueness of tokens also results in an
- additional failure mode when attempting to connect a slot
- using a token that has already been used.</p></li>
-<li class="listitem"><p>More parameterization would be required, because the
- token type must be user-defined. Additional
- parameterization steepens the learning curver and
- overcomplicates a simple interface.</p></li>
-</ul></div>
-<p> This type of interface is supported in Boost.Signals
- via the slot grouping mechanism. It augments the
- <code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a></code> object-based
- connection management scheme.</p>
-</li>
-</ul></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63934768"></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
- iterators, the combiner interface would be most natural to a
- proficient C++ programmer. Competing interface design generally
- required the combiners to be constructed to conform to an
- interface that would be customized for (and limited to) the
- Signals library. While these interfaces are generally enable more
- straighforward implementation of the signals &amp; slots
- libraries, the combiners are unfortunately not reusable (either in
- other signals &amp; slots libraries or within other generic
- algorithms), and the learning curve is steepened slightly to learn
- the specific combiner interface.</p>
-<p> The Signals formulation of combiners is based on the
- combiner using the "pull" mode of communication, instead of the
- more complex "push" mechanism. With a "pull" mechanism, the
- combiner's state can be kept on the stack and in the program
- counter, because whenever new data is required (i.e., calling the
- next slot to retrieve its return value), there is a simple
- interface to retrieve that data immediately and without returning
- from the combiner's code. Contrast this with the "push" mechanism,
- where the combiner must keep all state in class members because
- the combiner's routines will be invoked for each signal
- called. Compare, for example, a combiner that returns the maximum
- element from calling the slots. If the maximum element ever
- exceeds 100, no more slots are to be called.</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left"><p>Pull</p></th>
-<th align="left"><p>Push</p></th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-struct pull_max {
- typedef int result_type;
-
- template&lt;typename InputIterator&gt;
- result_type operator()(InputIterator first,
- InputIterator last)
- {
- if (first == last)
- throw std::runtime_error("Empty!");
-
- int max_value = *first++;
- while(first != last &amp;&amp; *first &lt;= 100) {
- if (*first &gt; max_value)
- max_value = *first;
- ++first;
- }
-
- return max_value;
- }
-};
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-struct push_max {
- typedef int result_type;
-
- push_max() : max_value(), got_first(false) {}
-
- // returns false when we want to stop
- bool operator()(int result) {
- if (result &gt; 100)
- return false;
-
- if (!got_first) {
- got_first = true;
- max_value = result;
- return true;
- }
-
- if (result &gt; max_value)
- max_value = result;
-
- return true;
- }
-
- int get_value() const
- {
- if (!got_first)
- throw std::runtime_error("Empty!");
- return max_value;
- }
-
-private:
- int max_value;
- bool got_first;
-};
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-<p>There are several points to note in these examples. The
- "pull" version is a reusable function object that is based on an
- input iterator sequence with an integer <code class="computeroutput">value_type</code>,
- and is very straightforward in design. The "push" model, on the
- other hand, relies on an interface specific to the caller and is
- not generally reusable. It also requires extra state values to
- determine, for instance, if any elements have been
- received. Though code quality and ease-of-use is generally
- subjective, the "pull" model is clearly shorter and more reusable
- and will often be construed as easier to write and understand,
- even outside the context of a signals &amp; slots library.</p>
-<p> The cost of the "pull" combiner interface is paid in the
- implementation of the Signals library itself. To correctly handle
- slot disconnections during calls (e.g., when the dereference
- operator is invoked), one must construct the iterator to skip over
- disconnected slots. Additionally, the iterator must carry with it
- the set of arguments to pass to each slot (although a reference to
- a structure containing those arguments suffices), and must cache
- the result of calling the slot so that multiple dereferences don't
- result in multiple calls. This apparently requires a large degree
- of overhead, though if one considers the entire process of
- invoking slots one sees that the overhead is nearly equivalent to
- that in the "push" model, but we have inverted the control
- structures to make iteration and dereference complex (instead of
- making combiner state-finding complex).</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63950240"></a>Connection Interfaces: += operator</h3></div></div></div>
-<p> Boost.Signals supports a connection syntax with the form
- <code class="computeroutput">sig.<a class="link" href="../boost/signalN.html#idp14296960-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">
-<li class="listitem"><p><span class="bold"><strong>It's unnecessary</strong></span>: the
- connection syntax supplied by Boost.Signals is no less
- powerful that that supplied by the <code class="computeroutput">+=</code>
- operator. The savings in typing (<code class="computeroutput">connect()</code>
- vs. <code class="computeroutput">+=</code>) is essentially negligible. Furthermore,
- one could argue that calling <code class="computeroutput">connect()</code> is more
- readable than an overload of <code class="computeroutput">+=</code>.</p></li>
-<li class="listitem"><p><span class="bold"><strong>Ambiguous return type</strong></span>:
- there is an ambiguity concerning the return value of the
- <code class="computeroutput">+=</code> operation: should it be a reference to the
- signal itself, to enable <code class="computeroutput">sig += slot1 += slot2</code>,
- or should it return a
- <code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a></code> for the
- newly-created signal/slot connection?</p></li>
-<li class="listitem">
-<p><span class="bold"><strong>Gateway to operators -=,
- +</strong></span>: when one has added a connection operator
- <code class="computeroutput">+=</code>, it seems natural to have a disconnection
- operator <code class="computeroutput">-=</code>. However, this presents problems when
- the library allows arbitrary function objects to implicitly
- become slots, because slots are no longer comparable. </p>
-<p> The second obvious addition when one has
- <code class="computeroutput">operator+=</code> would be to add a <code class="computeroutput">+</code>
- operator that supports addition of multiple slots, followed by
- assignment to a signal. However, this would require
- implementing <code class="computeroutput">+</code> such that it can accept any two
- function objects, which is technically infeasible.</p>
-</li>
-</ul></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63971904"></a><code class="computeroutput">trackable</code> rationale</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="s06.html#idp63976976"><code class="computeroutput">trackable</code> copying behavior</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp63983808">Why derivation from <code class="computeroutput">trackable</code>?</a></span></dt>
-</dl></div>
-<p> The <code class="computeroutput"><a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a></code>
- class is the primary user interface to automatic connection
- lifetime management, and its design affects users directly. Two
- issues stick out most: the odd copying behavior of
- <code class="computeroutput">trackable</code>, and the limitation requiring users to
- derive from <code class="computeroutput">trackable</code> to create types that can
- participate in automatic connection management.</p>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp63976976"></a><code class="computeroutput">trackable</code> copying behavior</h4></div></div></div>
-<p> The copying behavior of
- <code class="computeroutput"><a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a></code> is essentially
- that <code class="computeroutput"><a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a></code> subobjects
- are never copied; instead, the copy operation is merely a
- no-op. To understand this, we look at the nature of a
- signal-slot connection and note that the connection is based on
- the entities that are being connected; when one of the entities
- is destroyed, the connection is destroyed. Therefore, when a
- <code class="computeroutput"><a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a></code> subobject is
- copied, we cannot copy the connections because the connections
- don't refer to the target entity - they refer to the source
- entity. This reason is dual to the reason signals are
- noncopyable: the slots connected to them are connected to that
- particular signal, not the data contained in the signal.</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp63983808"></a>Why derivation from <code class="computeroutput">trackable</code>?</h4></div></div></div>
-<p> For <code class="computeroutput"><a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a></code> to work
- properly, there are two constraints:</p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><p><code class="computeroutput"><a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a></code> must
- have storage space to keep track of all connections made to
- this object.</p></li>
-<li class="listitem"><p><code class="computeroutput"><a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a></code> must be
- notified when the object is being destructed so that it can
- disconnect its connections.</p></li>
-</ul></div>
-<p>Clearly, deriving from
- <code class="computeroutput"><a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a></code> meets these two
- guidelines. We have not yet found a superior solution.</p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp63993760"></a>Comparison with other Signal/Slot implementations</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="s06.html#idp63994464">libsigc++</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp64001760">.NET delegates</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp63994464"></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
- grown to be a separate library maintained by Karl Nelson. There
- are many similarities between libsigc++ and Boost.Signals, and
- indeed Boost.Signals was strongly influenced by Karl Nelson and
- libsigc++. A cursory inspection of each library will find a
- similar syntax for the construction of signals and in the use of
- connections and automatic connection lifetime management. There
- are some major differences in design that separate these
- libraries:</p>
-<div class="itemizedlist"><ul class="itemizedlist" 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
- objects (as part of the library), explicit adaptation from
- the argument and return types of the signal to the argument
- and return types of the slot (libsigc++ is, by default, more
- strict about types than Boost.Signals). A discussion of this
- approach with a comparison against the approach taken by
- Boost.Signals is given in Choice of Slot Definitions.</p></li>
-<li class="listitem"><p><span class="bold"><strong>Combiner/Marshaller
- interface</strong></span>: the equivalent to Boost.Signals
- combiners in libsigc++ are the marshallers. Marshallers are
- similar to the "push" interface described in Combiner
- Interface, and a proper treatment of the topic is given
- there.</p></li>
-</ul></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp64001760"></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">
-<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>
-<li class="listitem"><p>Must call a method with <code class="computeroutput">this</code> already
- bound.</p></li>
-</ul></div>
-</div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s05.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../signals/tests.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/signals/reference.html b/libs/signals/doc/html/signals/reference.html
deleted file mode 100644
index 39a58aa9b6..0000000000
--- a/libs/signals/doc/html/signals/reference.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<html>
-<head>
-<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">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="prev" href="tutorial.html" title="Tutorial">
-<link rel="next" href="../boost/signalN.html" title="Class template signalN">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tutorial.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/signalN.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="signals.reference"></a>Reference</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="reference.html#header.boost.signal_hpp">Header &lt;boost/signal.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#header.boost.signals.slot_hpp">Header &lt;boost/signals/slot.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#header.boost.signals.trackable_hpp">Header &lt;boost/signals/trackable.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#header.boost.signals.connection_hpp">Header &lt;boost/signals/connection.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#header.boost.visit_each_hpp">Header &lt;boost/visit_each.hpp&gt;</a></span></dt>
-<dt><span class="section"><a href="reference.html#header.boost.last_value_hpp">Header &lt;boost/last_value.hpp&gt;</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.signal_hpp"></a>Header &lt;<a href="../../../../../boost/signal.hpp" target="_top">boost/signal.hpp</a>&gt;</h3></div></div></div>
-<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> R<span class="special">,</span> <span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="special">...</span><span class="special">,</span> <span class="keyword">typename</span> TN<span class="special">,</span>
- <span class="keyword">typename</span> Combiner <span class="special">=</span> <a class="link" href="../boost/last_value.html" title="Class template last_value">last_value</a><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span><span class="special">,</span> <span class="keyword">typename</span> Group <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span>
- <span class="keyword">typename</span> GroupCompare <span class="special">=</span> std::less<span class="special">&lt;</span><span class="identifier">Group</span><span class="special">&gt;</span><span class="special">,</span>
- <span class="keyword">typename</span> SlotFunction <span class="special">=</span> functionN<span class="special">&lt;</span><span class="identifier">R</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">T2</span><span class="special">,</span> <span class="special">...</span><span class="special">,</span> <span class="identifier">TN</span><span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="keyword">class</span> <a class="link" href="../boost/signalN.html" title="Class template signalN">signalN</a><span class="special">;</span>
- <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> <a class="link" href="../boost/last_value.html" title="Class template last_value">last_value</a><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;</span><span class="special">,</span>
- <span class="keyword">typename</span> Group <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span> <span class="keyword">typename</span> GroupCompare <span class="special">=</span> std::less<span class="special">&lt;</span><span class="identifier">Group</span><span class="special">&gt;</span><span class="special">,</span>
- <span class="keyword">typename</span> SlotFunction <span class="special">=</span> functionN<span class="special">&lt;</span><span class="identifier">Signature</span><span class="special">&gt;</span> <span class="special">&gt;</span>
- <span class="keyword">class</span> <a class="link" href="../boost/signal.html" title="Class template signal">signal</a><span class="special">;</span>
- <span class="keyword">namespace</span> <span class="identifier">signals</span> <span class="special">{</span>
-
- <span class="keyword">enum</span> <a name="boost.signals.connect_position"></a>connect_position <span class="special">{</span> at_front, at_back <span class="special">}</span><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">}</span></pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.signals.slot_hpp"></a>Header &lt;<a href="../../../../../boost/signals/slot.hpp" target="_top">boost/signals/slot.hpp</a>&gt;</h3></div></div></div>
-<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <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/slot.html" title="Class template slot">slot</a><span class="special">;</span>
-<span class="special">}</span></pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.signals.trackable_hpp"></a>Header &lt;<a href="../../../../../boost/signals/trackable.hpp" target="_top">boost/signals/trackable.hpp</a>&gt;</h3></div></div></div>
-<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">signals</span> <span class="special">{</span>
- <span class="keyword">class</span> <a class="link" href="../boost/signals/trackable.html" title="Class trackable">trackable</a><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">}</span></pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.signals.connection_hpp"></a>Header &lt;<a href="../../../../../boost/signals/connection.hpp" target="_top">boost/signals/connection.hpp</a>&gt;</h3></div></div></div>
-<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">signals</span> <span class="special">{</span>
- <span class="keyword">class</span> <a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a><span class="special">;</span>
- <span class="keyword">void</span> <a class="link" href="../boost/signals/connection.html#boost.signals.connection.swap"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a><span class="special">&amp;</span><span class="special">,</span> <a class="link" href="../boost/signals/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/signals/scoped_connection.html" title="Class scoped_connection">scoped_connection</a><span class="special">;</span>
- <span class="special">}</span>
-<span class="special">}</span></pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.visit_each_hpp"></a>Header &lt;<a href="../../../../../boost/visit_each.hpp" target="_top">boost/visit_each.hpp</a>&gt;</h3></div></div></div>
-<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
- <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Visitor<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">&gt;</span>
- <span class="keyword">void</span> <a class="link" href="../boost/visit_each.html" title="Function template visit_each"><span class="identifier">visit_each</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Visitor</span><span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span><span class="special">,</span> <span class="keyword">int</span><span class="special">)</span><span class="special">;</span>
-<span class="special">}</span></pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="header.boost.last_value_hpp"></a>Header &lt;<a href="../../../../../boost/last_value.hpp" target="_top">boost/last_value.hpp</a>&gt;</h3></div></div></div>
-<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</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/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/last_value_voi_idp15355280.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="special">}</span></pre>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="tutorial.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/signalN.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/signals/tests.html b/libs/signals/doc/html/signals/tests.html
deleted file mode 100644
index 0e4cb37566..0000000000
--- a/libs/signals/doc/html/signals/tests.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<html>
-<head>
-<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">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="prev" href="../index/s06.html" title="Design Rationale">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index/s06.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="signals.tests"></a>Testsuite</h2></div></div></div>
-<div class="toc"><dl><dt><span class="section"><a href="tests.html#idp64008752">Acceptance tests</a></span></dt></dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp64008752"></a>Acceptance tests</h3></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col width="1in">
-<col>
-</colgroup>
-<thead><tr>
-<th>Test</th>
-<th>Type</th>
-<th>Description</th>
-<th>If failing...</th>
-</tr></thead>
-<tbody>
-<tr>
-<td><p><a href="../../../libs/signals/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">connect</code> with a slot
-that has already been disconnected via deletion does not actually
-connect to the slot.</p></td>
-<td>&#160;</td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/deletion_test.cpp" target="_top">deletion_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Test deletion of slots.</p></td>
-<td>&#160;</td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/ordering_test.cpp" target="_top">ordering_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Test slot group ordering.</p></td>
-<td>&#160;</td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/signal_n_test.cpp" target="_top">signal_n_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Basic test of signal/slot connections and invocation using the
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code> class templates.</p></td>
-<td>&#160;</td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/signal_test.cpp" target="_top">signal_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Basic test of signal/slot connections and invocation using the
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code> class template.</p></td>
-<td><p>The <code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code> class template may not
-be usable on your compiler. However, the
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code> class templates may still be
-usable.</p></td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/trackable_test.cpp" target="_top">trackable_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Test automatic lifetime management using
- <code class="computeroutput">boost::trackable</code> objects.</p></td>
-<td>&#160;</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index/s06.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
-</div>
-</body>
-</html>
diff --git a/libs/signals/doc/html/signals/tutorial.html b/libs/signals/doc/html/signals/tutorial.html
deleted file mode 100644
index 35d8925bc5..0000000000
--- a/libs/signals/doc/html/signals/tutorial.html
+++ /dev/null
@@ -1,1151 +0,0 @@
-<html>
-<head>
-<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">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="prev" href="../index.html" title="Chapter&#160;1.&#160;Boost.Signals">
-<link rel="next" href="reference.html" title="Reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
-<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
-<td align="center"><a href="../../../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="signals.tutorial"></a>Tutorial</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#idp61506304">How to Read this Tutorial</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp57660384">Compatibility Note</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp57674496">Hello, World! (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62590288">Calling multiple slots</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62631760">Passing values to and from slots</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62726080">Connection Management</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62804320">Example: Document-View</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62818608">Linking against the Signals library</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp61506304"></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
-slots) and in each of these concepts the basic ideas are presented
-first and then more complex uses of the library are described
-later. Each of the sections is marked <span class="emphasis"><em>Beginner</em></span>,
-<span class="emphasis"><em>Intermediate</em></span>, or <span class="emphasis"><em>Advanced</em></span> to help guide the
-reader. The <span class="emphasis"><em>Beginner</em></span> sections include information that all
-library users should know; one can make good use of the Signals
-library after having read only the <span class="emphasis"><em>Beginner</em></span> sections. The
-<span class="emphasis"><em>Intermediate</em></span> sections build on the <span class="emphasis"><em>Beginner</em></span>
-sections with slightly more complex uses of the library. Finally,
-the <span class="emphasis"><em>Advanced</em></span> sections detail very advanced uses of the
-Signals library, that often require a solid working knowledge of
-the <span class="emphasis"><em>Beginner</em></span> and <span class="emphasis"><em>Intermediate</em></span> topics; most users
-will not need to read the <span class="emphasis"><em>Advanced</em></span> sections.</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp57660384"></a>Compatibility Note</h3></div></div></div>
-<p>Boost.Signals has two syntactical forms: the preferred form and
-the compatibility form. The preferred form fits more closely with the
-C++ language and reduces the number of separate template parameters
-that need to be considered, often improving readability; however, the
-preferred form is not supported on all platforms due to compiler
-bugs. The compatible form will work on all compilers supported by
-Boost.Signals. Consult the table below to determine which syntactic
-form to use for your compiler. Users of Boost.Function, please note
-that the preferred syntactic form in Signals is equivalent to that of
-Function's preferred syntactic form.</p>
-<p>If your compiler does not appear in this list, please try the
-preferred syntax and report your results to the Boost list so that
-we can keep this table up-to-date.</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
- <div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><p>GNU C++ 2.95.x, 3.0.x, 3.1.x</p></li>
-<li class="listitem"><p>Comeau C++ 4.2.45.2</p></li>
-<li class="listitem"><p>SGI MIPSpro 7.3.0</p></li>
-<li class="listitem"><p>Intel C++ 5.0, 6.0</p></li>
-<li class="listitem"><p>Compaq's cxx 6.2</p></li>
-<li class="listitem"><p>Microsoft Visual C++ 7.1</p></li>
-</ul></div>
- </td>
-<td align="left">
- <div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><p><span class="emphasis"><em>Any compiler supporting the preferred syntax</em></span></p></li>
-<li class="listitem"><p>Microsoft Visual C++ 6.0, 7.0</p></li>
-<li class="listitem"><p>Borland C++ 5.5.1</p></li>
-<li class="listitem"><p>Sun WorkShop 6 update 2 C++ 5.3</p></li>
-<li class="listitem"><p>Metrowerks CodeWarrior 8.1</p></li>
-</ul></div>
- </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp57674496"></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
-the <code class="computeroutput">hello</code> function object to the signal using the
-<code class="computeroutput">connect</code> method. Finally, use the signal
-<code class="computeroutput">sig</code> like a function to call the slots, which in turns
-invokes <code class="computeroutput">HelloWorld::operator()</code> to print "Hello,
-World!".</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-struct HelloWorld
-{
- void operator()() const
- {
- std::cout &lt;&lt; "Hello, World!" &lt;&lt; std::endl;
- }
-};
-
-// ...
-
-// Signal with no arguments and a void return value
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>&lt;void ()&gt; sig;
-
-// Connect a HelloWorld slot
-HelloWorld hello;
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(hello);
-
-// Call all of the slots
-sig();
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-struct HelloWorld
-{
- void operator()() const
- {
- std::cout &lt;&lt; "Hello, World!" &lt;&lt; std::endl;
- }
-};
-
-// ...
-
-// Signal with no arguments and a void return value
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signal0</a></code>&lt;void&gt; sig;
-
-// Connect a HelloWorld slot
-HelloWorld hello;
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(hello);
-
-// Call all of the slots
-sig();
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp62590288"></a>Calling multiple slots</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#idp62590800">Connecting multiple slots (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62609776">Ordering slot call groups (Intermediate)</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62590800"></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
-slots. The first slot will print "Hello" and may look like
-this:</p>
-<pre class="programlisting">
-struct Hello
-{
- void operator()() const
- {
- std::cout &lt;&lt; "Hello";
- }
-};
-</pre>
-<p>The second slot will print ", World!" and a newline, to complete
-the program. The second slot may look like this:</p>
-<pre class="programlisting">
-struct World
-{
- void operator()() const
- {
- std::cout &lt;&lt; ", World!" &lt;&lt; std::endl;
- }
-};
-</pre>
-<p>Like in our previous example, we can create a signal
-<code class="computeroutput">sig</code> that takes no arguments and has a
-<code class="computeroutput">void</code> return value. This time, we connect both a
-<code class="computeroutput">hello</code> and a <code class="computeroutput">world</code> slot to the same
-signal, and when we call the signal both slots will be called.</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>&lt;void ()&gt; sig;
-
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(Hello());
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(World());
-
-sig();
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signal0</a></code>&lt;void&gt; sig;
-
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(Hello());
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(World());
-
-sig();
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-<p>By default, slots are called in first-in first-out (FIFO) order,
-so the output of this program will be as expected:</p>
-<pre class="programlisting">
-Hello, World!
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62609776"></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.Signals
-library allows slots to be placed into groups that are ordered in
-some way. For our Hello, World program, we want "Hello" to be
-printed before ", World!", so we put "Hello" into a group that must
-be executed before the group that ", World!" is in. To do this, we
-can supply an extra parameter at the beginning of the
-<code class="computeroutput">connect</code> call that specifies the group. Group values
-are, by default, <code class="computeroutput">int</code>s, and are ordered by the integer
-&lt; relation. Here's how we construct Hello, World:</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>&lt;void ()&gt; sig;
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(1, World());
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(0, Hello());
-sig();
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signal0</a></code>&lt;void&gt; sig;
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(1, World());
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(0, Hello());
-sig();
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-<p>This program will correctly print "Hello, World!", because the
-<code class="computeroutput">Hello</code> object is in group 0, which precedes group 1 where
-the <code class="computeroutput">World</code> object resides. The group
-parameter is, in fact, optional. We omitted it in the first Hello,
-World example because it was unnecessary when all of the slots are
-independent. So what happens if we mix calls to connect that use the
-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::signals::at_front</code> or <code class="computeroutput">boost::signals::at_back</code>
-as the last parameter to <code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>, respectively), and defaults to the end of the list. When
-a group is specified, the final parameter describes where the slot
-will be placed within the group ordering. If we add a new slot
-to our example like this:</p>
-<pre class="programlisting">
-struct GoodMorning
-{
- void operator()() const
- {
- std::cout &lt;&lt; "... and good morning!" &lt;&lt; std::endl;
- }
-};
-
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(GoodMorning());
-</pre>
-<p>... we will get the result we wanted:</p>
-<pre class="programlisting">
-Hello, World!
-... and good morning!
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp62631760"></a>Passing values to and from slots</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#idp62632272">Slot Arguments (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62657600">Signal Return Values (Advanced)</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62632272"></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
-buttons are pressed.</p>
-<p>As an example, we'll create a signal that passes two
-<code class="computeroutput">float</code> arguments to its slots. Then we'll create a few
-slots that print the results of various arithmetic operations on
-these values.</p>
-<pre class="programlisting">
-void print_sum(float x, float y)
-{
- std::cout &lt;&lt; "The sum is " &lt;&lt; x+y &lt;&lt; std::endl;
-}
-
-void print_product(float x, float y)
-{
- std::cout &lt;&lt; "The product is " &lt;&lt; x*y &lt;&lt; std::endl;
-}
-
-void print_difference(float x, float y)
-{
- std::cout &lt;&lt; "The difference is " &lt;&lt; x-y &lt;&lt; std::endl;
-}
-
-void print_quotient(float x, float y)
-{
- std::cout &lt;&lt; "The quotient is " &lt;&lt; x/y &lt;&lt; std::endl;
-}
-</pre>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>&lt;void (float, float)&gt; sig;
-
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;print_sum);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;print_product);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;print_difference);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;print_quotient);
-
-sig(5, 3);
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;void, float, float&gt; sig;
-
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;print_sum);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;print_product);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;print_difference);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;print_quotient);
-
-sig(5, 3);
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-<p>This program will print out the following:</p>
-<pre class="programlisting">
-The sum is 8
-The product is 15
-The difference is 2
-The quotient is 1.66667
-</pre>
-<p>So any values that are given to <code class="computeroutput">sig</code> when it is
-called like a function are passed to each of the slots. We have to
-declare the types of these values up front when we create the
-signal. The type <code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a>&lt;void (float,
-float)&gt;</code> means that the signal has a <code class="computeroutput">void</code>
-return value and takes two <code class="computeroutput">float</code> values. Any slot
-connected to <code class="computeroutput">sig</code> must therefore be able to take two
-<code class="computeroutput">float</code> values.</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62657600"></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
-that can take the results of calling slots (there many be no
-results or a hundred; we don't know until the program runs) and
-coalesces them into a single result to be returned to the caller.
-The single result is often a simple function of the results of the
-slot calls: the result of the last slot call, the maximum value
-returned by any slot, or a container of all of the results are some
-possibilities.</p>
-<p>We can modify our previous arithmetic operations example
-slightly so that the slots all return the results of computing the
-product, quotient, sum, or difference. Then the signal itself can
-return a value based on these results to be printed:</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-float product(float x, float y) { return x*y; }
-float quotient(float x, float y) { return x/y; }
-float sum(float x, float y) { return x+y; }
-float difference(float x, float y) { return x-y; }
-
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>&lt;float (float x, float y)&gt; sig;
-
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;product);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;quotient);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;sum);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;difference);
-
-std::cout &lt;&lt; sig(5, 3) &lt;&lt; std::endl;
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-float product(float x, float y) { return x*y; }
-float quotient(float x, float y) { return x/y; }
-float sum(float x, float y) { return x+y; }
-float difference(float x, float y) { return x-y; }
-
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;float, float, float&gt; sig;
-
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;product);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;quotient);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;sum);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;difference);
-
-std::cout &lt;&lt; sig(5, 3) &lt;&lt; std::endl;
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-<p>This example program will output <code class="computeroutput">2</code>. This is because the
-default behavior of a signal that has a return type
-(<code class="computeroutput">float</code>, the first template argument given to the
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code> class template) is to call all slots and
-then return the result returned by the last slot called. This
-behavior is admittedly silly for this example, because slots have
-no side effects and the result is the last slot connect.</p>
-<p>A more interesting signal result would be the maximum of the
-values returned by any slot. To do this, we create a custom
-combiner that looks like this:</p>
-<pre class="programlisting">
-template&lt;typename T&gt;
-struct maximum
-{
- typedef T result_type;
-
- template&lt;typename InputIterator&gt;
- T operator()(InputIterator first, InputIterator last) const
- {
- // If there are no slots to call, just return the
- // default-constructed value
- if (first == last)
- return T();
-
- T max_value = *first++;
- while (first != last) {
- if (max_value &lt; *first)
- max_value = *first;
- ++first;
- }
-
- return max_value;
- }
-};
-</pre>
-<p>The <code class="computeroutput">maximum</code> class template acts as a function
-object. Its result type is given by its template parameter, and
-this is the type it expects to be computing the maximum based on
-(e.g., <code class="computeroutput">maximum&lt;float&gt;</code> would find the maximum
-<code class="computeroutput">float</code> in a sequence of <code class="computeroutput">float</code>s). When a
-<code class="computeroutput">maximum</code> object is invoked, it is given an input
-iterator sequence <code class="computeroutput">[first, last)</code> that includes the
-results of calling all of the slots. <code class="computeroutput">maximum</code> uses this
-input iterator sequence to calculate the maximum element, and
-returns that maximum value.</p>
-<p>We actually use this new function object type by installing it
-as a combiner for our signal. The combiner template argument
-follows the signal's calling signature:</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>&lt;float (float x, float y),
- maximum&lt;float&gt; &gt; sig;
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;float, float, float,
- maximum&lt;float&gt; &gt; sig;
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-<p>Now we can connect slots that perform arithmetic functions and
-use the signal:</p>
-<pre class="programlisting">
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;quotient);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;product);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;sum);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;difference);
-
-std::cout &lt;&lt; sig(5, 3) &lt;&lt; std::endl;
-</pre>
-<p>The output of this program will be <code class="computeroutput">15</code>, because
-regardless of the order in which the slots are connected, the product
-of 5 and 3 will be larger than the quotient, sum, or
-difference.</p>
-<p>In other cases we might want to return all of the values
-computed by the slots together, in one large data structure. This
-is easily done with a different combiner:</p>
-<pre class="programlisting">
-template&lt;typename Container&gt;
-struct aggregate_values
-{
- typedef Container result_type;
-
- template&lt;typename InputIterator&gt;
- Container operator()(InputIterator first, InputIterator last) const
- {
- return Container(first, last);
- }
-};
-</pre>
-<p>
-Again, we can create a signal with this new combiner:
-</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>&lt;float (float, float),
- aggregate_values&lt;std::vector&lt;float&gt; &gt; &gt; sig;
-
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;quotient);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;product);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;sum);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;difference);
-
-std::vector&lt;float&gt; results = sig(5, 3);
-std::copy(results.begin(), results.end(),
- std::ostream_iterator&lt;float&gt;(cout, " "));
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;float, float, float,
- aggregate_values&lt;std::vector&lt;float&gt; &gt; &gt; sig;
-
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;quotient);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;product);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;sum);
-sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(&amp;difference);
-
-std::vector&lt;float&gt; results = sig(5, 3);
-std::copy(results.begin(), results.end(),
- std::ostream_iterator&lt;float&gt;(cout, " "));
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-<p>The output of this program will contain 15, 8, 1.6667, and 2. It
-is interesting here that
-the first template argument for the <code class="computeroutput">signal</code> class,
-<code class="computeroutput">float</code>, is not actually the return type of the signal.
-Instead, it is the return type used by the connected slots and will
-also be the <code class="computeroutput">value_type</code> of the input iterators passed
-to the combiner. The combiner itself is a function object and its
-<code class="computeroutput">result_type</code> member type becomes the return type of the
-signal.</p>
-<p>The input iterators passed to the combiner transform dereference
-operations into slot calls. Combiners therefore have the option to
-invoke only some slots until some particular criterion is met. For
-instance, in a distributed computing system, the combiner may ask
-each remote system whether it will handle the request. Only one
-remote system needs to handle a particular request, so after a
-remote system accepts the work we do not want to ask any other
-remote systems to perform the same task. Such a combiner need only
-check the value returned when dereferencing the iterator, and
-return when the value is acceptable. The following combiner returns
-the first non-NULL pointer to a <code class="computeroutput">FulfilledRequest</code> data
-structure, without asking any later slots to fulfill the
-request:</p>
-<pre class="programlisting">
-struct DistributeRequest {
- typedef FulfilledRequest* result_type;
-
- template&lt;typename InputIterator&gt;
- result_type operator()(InputIterator first, InputIterator last) const
- {
- while (first != last) {
- if (result_type fulfilled = *first)
- return fulfilled;
- ++first;
- }
- return 0;
- }
-};
-</pre>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp62726080"></a>Connection Management</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="tutorial.html#idp62726592">Disconnecting Slots (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62738320">Blocking Slots (Beginner)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62746224">Scoped connections (Intermediate)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62751168">Disconnecting equivalent slots (Intermediate)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62759952">Automatic connection management (Intermediate)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62781760">When can disconnections occur? (Intermediate)</a></span></dt>
-<dt><span class="section"><a href="tutorial.html#idp62788704">Passing slots (Intermediate)</a></span></dt>
-</dl></div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62726592"></a>Disconnecting Slots (Beginner)</h4></div></div></div>
-<p>Slots aren't expected to exist indefinately 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
-when a slot should no longer be connected.</p>
-<p>The entry point for managing connections explicitly is the
-<code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">boost::signals::connection</a></code> class. The
-<code class="computeroutput"><a class="link" href="../boost/signals/connection.html" title="Class connection">connection</a></code> class uniquely represents the connection
-between a particular signal and a particular slot. The
-<code class="computeroutput"><a class="link" href="../boost/signals/connection.html#idp15454784-bb">connected</a>()</code> method checks if the signal and slot are
-still connected, and the <code class="computeroutput"><a class="link" href="../boost/signals/connection.html#idp12155424-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
-connection still exists or to disconnect the signal and slot.</p>
-<pre class="programlisting">
-boost::signals::connection c = sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(HelloWorld());
-if (c.<code class="computeroutput">connected</code>()) {
-<span class="emphasis"><em>// c is still connected to the signal</em></span>
- sig(); <span class="emphasis"><em>// Prints "Hello, World!"</em></span>
-}
-
-c.disconnect(); <span class="emphasis"><em>// Disconnect the HelloWorld object</em></span>
-assert(!c.<code class="computeroutput">connected</code>()); <span class="emphasis"><em>c isn't connected any more</em></span>
-
-sig(); <span class="emphasis"><em>// Does nothing: there are no connected slots</em></span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62738320"></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 disconnected. The
-<code class="computeroutput">block</code> member function
-temporarily blocks a slot, which can be unblocked via
-<code class="computeroutput">unblock</code>. Here is an example of
-blocking/unblocking slots:</p>
-<pre class="programlisting">
-boost::signals::connection c = sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(HelloWorld());
-sig(); <span class="emphasis"><em>// Prints "Hello, World!"</em></span>
-
-c.<code class="computeroutput">block</code>(); <span class="emphasis"><em>// block the slot</em></span>
-assert(c.<code class="computeroutput">blocked</code>());
-sig(); <span class="emphasis"><em>// No output: the slot is blocked</em></span>
-
-c.<code class="computeroutput">unblock</code>(); <span class="emphasis"><em>// unblock the slot</em></span>
-sig(); <span class="emphasis"><em>// Prints "Hello, World!"</em></span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62746224"></a>Scoped connections (Intermediate)</h4></div></div></div>
-<p>The <code class="computeroutput">boost::signals::scoped_connection</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
-ability is useful when a connection need only be temporary,
-e.g.,</p>
-<pre class="programlisting">
-{
- boost::signals::scoped_connection c = sig.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(ShortLived());
- sig(); <span class="emphasis"><em>// will call ShortLived function object</em></span>
-}
-sig(); <span class="emphasis"><em>// ShortLived function object no longer connected to sig</em></span>
-</pre>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62751168"></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/signalN.html#idp5262448-bb">disconnect</a></code> method, so long as
-the type of the function object has an accessible <code class="computeroutput">==</code>
-operator. For instance:
-
-</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-void foo();
-void bar();
-
-signal&lt;void()&gt; sig;
-
-sig.connect(&amp;foo);
-sig.connect(&amp;bar);
-
-// disconnects foo, but not bar
-sig.disconnect(&amp;foo);
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-void foo();
-void bar();
-
-signal0&lt;void&gt; sig;
-
-sig.connect(&amp;foo);
-sig.connect(&amp;bar);
-
-// disconnects foo, but not bar
-sig.disconnect(&amp;foo);
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62759952"></a>Automatic connection management (Intermediate)</h4></div></div></div>
-<p>Boost.Signals can automatically track the lifetime of objects
-involved in signal/slot connections, including automatic
-disconnection of slots when objects involved in the slot call are
-destroyed. For instance, consider a simple news delivery service,
-where clients connect to a news provider that then sends news to
-all connected clients as information arrives. The news delivery
-service may be constructed like this: </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-class NewsItem { /* ... */ };
-
-boost::signal&lt;void (const NewsItem&amp;)&gt; deliverNews;
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-class NewsItem { /* ... */ };
-
-boost::signal1&lt;void, const NewsItem&amp;&gt; deliverNews;
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-<p>Clients that wish to receive news updates need only connect a
-function object that can receive news items to the
-<code class="computeroutput">deliverNews</code> signal. For instance, we may have a
-special message area in our application specifically for news,
-e.g.,:</p>
-<pre class="programlisting">
-struct NewsMessageArea : public MessageArea
-{
-public:
- // ...
-
- void displayNews(const NewsItem&amp; news) const
- {
- messageText = news.text();
- update();
- }
-};
-
-// ...
-NewsMessageArea newsMessageArea = new NewsMessageArea(/* ... */);
-// ...
-deliverNews.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(boost::bind(&amp;NewsMessageArea::displayNews,
- newsMessageArea, _1));
-</pre>
-<p>However, what if the user closes the news message area,
-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.Signals one need only make
-<code class="computeroutput">NewsMessageArea</code> <span class="emphasis"><em>trackable</em></span>, and the slot
-involving <code class="computeroutput">newsMessageArea</code> will be disconnected when
-<code class="computeroutput">newsMessageArea</code> is destroyed. The
-<code class="computeroutput">NewsMessageArea</code> class is made trackable by deriving
-publicly from the <code class="computeroutput">boost::signals::trackable</code> class,
-e.g.:</p>
-<pre class="programlisting">
-struct NewsMessageArea : public MessageArea, public boost::signals::trackable
-{
- // ...
-};
-</pre>
-<p>At this time there is a significant limitation to the use of
-<code class="computeroutput">trackable</code> objects in making slot connections: function
-objects built using Boost.Bind are understood, such that pointers
-or references to <code class="computeroutput">trackable</code> objects passed to
-<code class="computeroutput">boost::bind</code> will be found and tracked.</p>
-<p><span class="bold"><strong>Warning</strong></span>: User-defined function objects and function
-objects from other libraries (e.g., Boost.Function or Boost.Lambda)
-do not implement the required interfaces for <code class="computeroutput">trackable</code>
-object detection, and <span class="emphasis"><em>will silently ignore any bound trackable
-objects</em></span>. Future versions of the Boost libraries will address
-this limitation.</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62781760"></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">
-<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
-<code class="computeroutput">scoped_connection</code>'s destructor.</p></li>
-<li class="listitem"><p>A <code class="computeroutput">trackable</code> object bound to the slot is
-destroyed.</p></li>
-<li class="listitem"><p>The signal is destroyed.</p></li>
-</ul></div>
-<p>These events can occur at any time without disrupting a signal's
-calling sequence. If a signal/slot connection is disconnected at
-any time during a signal's calling sequence, the calling sequence
-will still continue but will not invoke the disconnected slot.
-Additionally, a signal may be destroyed while it is in a calling
-sequence, and which case it will complete its slot call sequence
-but may not be accessed directly.</p>
-<p>Signals may be invoked recursively (e.g., a signal A calls a
-slot B that invokes signal A...). The disconnection behavior does
-not change in the recursive case, except that the slot calling
-sequence includes slot calls for all nested invocations of the
-signal.</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="idp62788704"></a>Passing slots (Intermediate)</h4></div></div></div>
-<p>Slots in the Boost.Signals 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
-cannot be templates. Slots can be passed via the
-<code class="computeroutput">slot_type</code> for each particular signal type and any
-function object compatible with the signature of the signal can be
-passed to a <code class="computeroutput">slot_type</code> parameter. For instance:</p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">Preferred syntax</th>
-<th align="left">Portable syntax</th>
-</tr></thead>
-<tbody><tr>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-class Button
-{
- typedef boost::signal&lt;void (int x, int y)&gt; OnClick;
-
-public:
- void doOnClick(const OnClick::slot_type&amp; slot);
-
-private:
- OnClick onClick;
-};
-
-void Button::doOnClick(
- const OnClick::slot_type&amp; slot
- )
-{
- onClick.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(slot);
-}
-
-void printCoordinates(long x, long y)
-{
- std::cout &lt;&lt; "(" &lt;&lt; x &lt;&lt; ", " &lt;&lt; y &lt;&lt; ")\n";
-}
-
-void f(Button&amp; button)
-{
- button.doOnClick(&amp;printCoordinates);
-}
-</pre>
-</td>
-<td align="left">
-<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting">
-class Button
-{
- typedef <code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signal2</a></code>&lt;void,int,int&gt; OnClick;
-
-public:
- void doOnClick(const OnClick::slot_type&amp; slot);
-
-private:
- OnClick onClick;
-};
-
-void Button::doOnClick(
- const OnClick::slot_type&amp; slot
- )
-{
- onClick.<code class="computeroutput"><a class="link" href="../boost/signalN.html#idp14296960-bb">connect</a></code>(slot);
-}
-
-void printCoordinates(long x, long y)
-{
- std::cout &lt;&lt; "(" &lt;&lt; x &lt;&lt; ", " &lt;&lt; y &lt;&lt; ")\n";
-}
-
-void f(Button&amp; button)
-{
- button.doOnClick(&amp;printCoordinates);
-}
-</pre>
-</td>
-</tr></tbody>
-</table></div>
-<p>The <code class="computeroutput">doOnClick</code> method is now functionally equivalent
-to the <code class="computeroutput">connect</code> method of the <code class="computeroutput">onClick</code>
-signal, but the details of the <code class="computeroutput">doOnClick</code> method can be
-hidden in an implementation detail file.</p>
-</div>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp62804320"></a>Example: Document-View</h3></div></div></div>
-<p>Signals can be used to implement flexible Document-View
- architectures. The document will contain a signal to which each of
- the views can connect. The following <code class="computeroutput">Document</code> class
- defines a simple text document that supports mulitple views. Note
- that it stores a single signal to which all of the views will be
- connected.</p>
-<pre class="programlisting">class Document
-{
-public:
- typedef boost::signal&lt;void (bool)&gt; signal_t;
- typedef boost::signals::connection connection_t;
-
-public:
- Document()
- {}
-
- connection_t connect(signal_t::slot_function_type subscriber)
- {
- return m_sig.connect(subscriber);
- }
-
- void disconnect(connection_t subscriber)
- {
- subscriber.disconnect();
- }
-
- void append(const char* s)
- {
- m_text += s;
- m_sig(true);
- }
-
- const std::string&amp; getText() const
- {
- return m_text;
- }
-
-private:
- signal_t m_sig;
- std::string m_text;
-};</pre>
-<p>Next, we can define a <code class="computeroutput">View</code> base class from which
- views can derive. This isn't strictly required, but it keeps the
- Document-View logic separate from the logic itself. Note that the
- constructor just connects the view to the document and the
- destructor disconnects the view.</p>
-<pre class="programlisting">
-class View
-{
-public:
- View(Document&amp; m)
- : m_document(m)
- {
- m_connection = m_document.connect(boost::bind(&amp;View::refresh, this, _1));
- }
-
- virtual ~View()
- {
- m_document.disconnect(m_connection);
- }
-
- virtual void refresh(bool bExtended) const = 0;
-
-protected:
- Document&amp; m_document;
-
-private:
- Document::connection_t m_connection;
-};
- </pre>
-<p>Finally, we can begin to define views. The
- following <code class="computeroutput">TextView</code> class provides a simple view of the
- document text.</p>
-<pre class="programlisting">class TextView : public View
-{
-public:
- TextView(Document&amp; doc)
- : View(doc)
- {}
-
- virtual void refresh(bool bExtended) const
- {
- std::cout &lt;&lt; "TextView: " &lt;&lt; m_document.getText() &lt;&lt; std::endl;
- }
-};</pre>
-<p>Alternatively, we can provide a view of the document
- translated into hex values using the <code class="computeroutput">HexView</code>
- view:</p>
-<pre class="programlisting">class HexView : public View
-{
-public:
- HexView(Document&amp; doc)
- : View(doc)
- {}
-
- virtual void refresh(bool bExtended) const
- {
- const std::string&amp; s = m_document.getText();
-
- std::cout &lt;&lt; "HexView:";
-
- for (std::string::const_iterator it = s.begin(); it != s.end(); ++it)
- std::cout &lt;&lt; ' ' &lt;&lt; std::hex &lt;&lt; static_cast&lt;int&gt;(*it);
-
- std::cout &lt;&lt; std::endl;
- }
-};</pre>
-<p>To tie the example together, here is a
- simple <code class="computeroutput">main</code> function that sets up two views and then
- modifies the document:</p>
-<pre class="programlisting">int main(int argc, char* argv[])
-{
- Document doc;
- TextView v1(doc);
- HexView v2(doc);
-
- doc.append(argc == 2 ? argv[1] : "Hello world!");
- return 0;
-}</pre>
-<p>The complete example source, contributed by Keith MacDonald,
- is available in <a href="../../../libs/signals/example/doc_view.cpp" target="_top"><code class="computeroutput">libs/signals/example/doc_view.cpp</code></a>.</p>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="idp62818608"></a>Linking against the Signals library</h3></div></div></div>
-<p>Part of the Boost.Signals library is compiled into a binary
- library that must be linked into your application to use
- Signals. Please refer to
- the <a href="../../../more/getting_started.html" target="_top">Getting Started</a>
- guide. You will need to link against the <code class="computeroutput">boost_signals</code>
- library.</p>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2001-2004 Douglas Gregor<p>Use, modification and distribution is subject to the Boost
- Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>