summaryrefslogtreecommitdiff
path: root/doc/html/signals2/rationale.html
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:33:54 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:36:09 +0900
commitd9ec475d945d3035377a0d89ed42e382d8988891 (patch)
tree34aff2cee4b209906243ab5499d61f3edee2982f /doc/html/signals2/rationale.html
parent71d216b90256936a9638f325af9bc69d720e75de (diff)
downloadboost-d9ec475d945d3035377a0d89ed42e382d8988891.tar.gz
boost-d9ec475d945d3035377a0d89ed42e382d8988891.tar.bz2
boost-d9ec475d945d3035377a0d89ed42e382d8988891.zip
Imported Upstream version 1.60.0
Change-Id: Ie709530d6d5841088ceaba025cbe175a4ef43050 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'doc/html/signals2/rationale.html')
-rw-r--r--doc/html/signals2/rationale.html48
1 files changed, 24 insertions, 24 deletions
diff --git a/doc/html/signals2/rationale.html b/doc/html/signals2/rationale.html
index 57cf2a2ddd..686d50a280 100644
--- a/doc/html/signals2/rationale.html
+++ b/doc/html/signals2/rationale.html
@@ -6,7 +6,7 @@
<link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals2.html" title="Chapter&#160;27.&#160;Boost.Signals2">
+<link rel="up" href="../signals2.html" title="Chapter&#160;28.&#160;Boost.Signals2">
<link rel="prev" href="faq.html" title="Frequently Asked Questions">
<link rel="next" href="api_changes.html" title="Signals2 API Changes">
</head>
@@ -27,17 +27,17 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="signals2.rationale"></a>Design Rationale</h2></div></div></div>
<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="rationale.html#idp430398928">User-level Connection Management</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp430417568">Automatic Connection Management</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp430434688"><code class="computeroutput">optional_last_value</code> as the Default Combiner</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp430441232">Combiner Interface</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp430457152">Connection Interfaces: += operator</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp430476528">Signals2 Mutex Classes</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp430487008">Comparison with other Signal/Slot implementations</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45555129277360">User-level Connection Management</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45555129258720">Automatic Connection Management</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45555129241600"><code class="computeroutput">optional_last_value</code> as the Default Combiner</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45555129235056">Combiner Interface</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45555129219984">Connection Interfaces: += operator</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45555129200608">Signals2 Mutex Classes</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45555129190128">Comparison with other Signal/Slot implementations</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp430398928"></a>User-level Connection Management</h3></div></div></div>
+<a name="idm45555129277360"></a>User-level Connection Management</h3></div></div></div>
<p> Users need to have fine control over the connection of
signals to slots and their eventual disconnection. The primary approach
taken by Boost.Signals2 is to return a
@@ -45,14 +45,14 @@
connected/disconnected query, manual disconnection, and an
automatic disconnection on destruction mode (<code class="computeroutput"><a class="link" href="../boost/signals2/scoped_connection.html" title="Class scoped_connection">signals2::scoped_connection</a></code>).
In addition, two other interfaces are supported by the
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp201870128-bb">signal::disconnect</a></code> overloaded method:</p>
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm45507162767776-bb">signal::disconnect</a></code> overloaded method:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><span class="bold"><strong>Pass slot to
disconnect</strong></span>: in this interface model, the
disconnection of a slot connected with
- <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idp228076832-bb">connect</a>(typeof(sig)::slot_type(slot_func))</code> is
+ <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idm45507095408768-bb">connect</a>(typeof(sig)::slot_type(slot_func))</code> is
performed via
- <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idp201870128-bb">disconnect</a>(slot_func)</code>. Internally,
+ <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idm45507162767776-bb">disconnect</a>(slot_func)</code>. Internally,
a linear search using slot comparison is performed and the
slot, if found, is removed from the list. Unfortunately,
querying connectedness ends up as a
@@ -80,14 +80,14 @@
</ul></div>
<p> This type of interface is supported in Boost.Signals2
via the slot grouping mechanism, and the overload of
- <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idp201870128-bb">signal::disconnect</a></code>
+ <code class="computeroutput"><a class="link" href="../boost/signals2/signal.html#idm45507162767776-bb">signal::disconnect</a></code>
which takes an argument of the signal's <code class="computeroutput">Group</code> type.</p>
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp430417568"></a>Automatic Connection Management</h3></div></div></div>
+<a name="idm45555129258720"></a>Automatic Connection Management</h3></div></div></div>
<p>Automatic connection management in Signals2
depends on the use of <code class="computeroutput">boost::shared_ptr</code> to
manage the lifetimes of tracked objects. This is differs from
@@ -129,7 +129,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp430434688"></a><code class="computeroutput">optional_last_value</code> as the Default Combiner</h3></div></div></div>
+<a name="idm45555129241600"></a><code class="computeroutput">optional_last_value</code> as the Default Combiner</h3></div></div></div>
<p>
The default combiner for Boost.Signals2 has changed from the <code class="computeroutput">last_value</code>
combiner used by default in the original Boost.Signals library.
@@ -145,7 +145,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp430441232"></a>Combiner Interface</h3></div></div></div>
+<a name="idm45555129235056"></a>Combiner Interface</h3></div></div></div>
<p> The Combiner interface was chosen to mimic a call to an
algorithm in the C++ standard library. It is felt that by viewing
slot call results as merely a sequence of values accessed by input
@@ -273,9 +273,9 @@ private:
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp430457152"></a>Connection Interfaces: += operator</h3></div></div></div>
+<a name="idm45555129219984"></a>Connection Interfaces: += operator</h3></div></div></div>
<p> Boost.Signals2 supports a connection syntax with the form
- <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idp228076832-bb">connect</a>(slot)</code>, but a
+ <code class="computeroutput">sig.<a class="link" href="../boost/signals2/signal.html#idm45507095408768-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
@@ -313,7 +313,7 @@ private:
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp430476528"></a>Signals2 Mutex Classes</h3></div></div></div>
+<a name="idm45555129200608"></a>Signals2 Mutex Classes</h3></div></div></div>
<p>
The Boost.Signals2 library provides 2 mutex classes: <code class="computeroutput"><a class="link" href="../boost/signals2/mutex.html" title="Class mutex">boost::signals2::mutex</a></code>,
and <code class="computeroutput"><a class="link" href="../boost/signals2/dummy_mutex.html" title="Class dummy_mutex">boost::signals2::dummy_mutex</a></code>. The motivation for providing
@@ -331,14 +331,14 @@ private:
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idp430487008"></a>Comparison with other Signal/Slot implementations</h3></div></div></div>
+<a name="idm45555129190128"></a>Comparison with other Signal/Slot implementations</h3></div></div></div>
<div class="toc"><dl class="toc">
-<dt><span class="section"><a href="rationale.html#idp430487712">libsigc++</a></span></dt>
-<dt><span class="section"><a href="rationale.html#idp430495312">.NET delegates</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45555129189424">libsigc++</a></span></dt>
+<dt><span class="section"><a href="rationale.html#idm45555129182304">.NET delegates</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp430487712"></a>libsigc++</h4></div></div></div>
+<a name="idm45555129189424"></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
@@ -368,7 +368,7 @@ private:
</div>
<div class="section">
<div class="titlepage"><div><div><h4 class="title">
-<a name="idp430495312"></a>.NET delegates</h4></div></div></div>
+<a name="idm45555129182304"></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