Imported Upstream version 1.64.0
[platform/upstream/boost.git] / doc / html / signals / s06.html
index a017ea9..10a8ac5 100644 (file)
@@ -6,7 +6,7 @@
 <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals.html" title="Chapter&#160;34.&#160;Boost.Signals">
+<link rel="up" href="../signals.html" title="Chapter&#160;35.&#160;Boost.Signals">
 <link rel="prev" href="s05.html" title="Design Overview">
 <link rel="next" href="tests.html" title="Testsuite">
 </head>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp609150320"></a>Design Rationale</h2></div></div></div>
+<a name="idp521445440"></a>Design Rationale</h2></div></div></div>
 <div class="toc"><dl class="toc">
-<dt><span class="section"><a href="s06.html#idp609151296">Choice of Slot Definitions</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp609161536">User-level Connection Management</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp609180272">Combiner Interface</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp609195360">Connection Interfaces: +=  operator</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp609214736"><code class="computeroutput">trackable</code> rationale</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp609234848">Comparison with other Signal/Slot implementations</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521446416">Choice of Slot Definitions</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521455808">User-level Connection Management</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521474624">Combiner Interface</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521490544">Connection Interfaces: +=  operator</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521509920"><code class="computeroutput">trackable</code> rationale</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521530032">Comparison with other Signal/Slot implementations</a></span></dt>
 </dl></div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp609151296"></a>Choice of Slot Definitions</h3></div></div></div>
+<a name="idp521446416"></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
@@ -86,7 +86,7 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp609161536"></a>User-level Connection Management</h3></div></div></div>
+<a name="idp521455808"></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
@@ -98,9 +98,9 @@
 <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#idp944910256-bb">connect</a>(slot)</code> is
+        <code class="computeroutput">sig.<a class="link" href="../boost/signalN.html#idp718707248-bb">connect</a>(slot)</code> is
         performed via
-        <code class="computeroutput">sig.<a class="link" href="../boost/signalN.html#idp944926720-bb">disconnect</a>(slot)</code>. Internally,
+        <code class="computeroutput">sig.<a class="link" href="../boost/signalN.html#idp718723712-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
         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#idp944926720-bb">disconnect</a></code> with an
+        <code class="computeroutput"><a class="link" href="../boost/signalN.html#idp718723712-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">
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp609180272"></a>Combiner Interface</h3></div></div></div>
+<a name="idp521474624"></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
@@ -276,9 +276,9 @@ private:
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp609195360"></a>Connection Interfaces: +=  operator</h3></div></div></div>
+<a name="idp521490544"></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#idp944910256-bb">connect</a>(slot)</code>, but a
+    <code class="computeroutput">sig.<a class="link" href="../boost/signalN.html#idp718707248-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
@@ -316,10 +316,10 @@ private:
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp609214736"></a><code class="computeroutput">trackable</code> rationale</h3></div></div></div>
+<a name="idp521509920"></a><code class="computeroutput">trackable</code> rationale</h3></div></div></div>
 <div class="toc"><dl class="toc">
-<dt><span class="section"><a href="s06.html#idp609219360"><code class="computeroutput">trackable</code> copying behavior</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp609225520">Why derivation from <code class="computeroutput">trackable</code>?</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521514544"><code class="computeroutput">trackable</code> copying behavior</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521520704">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
@@ -330,7 +330,7 @@ private:
       participate in automatic connection management.</p>
 <div class="section">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp609219360"></a><code class="computeroutput">trackable</code> copying behavior</h4></div></div></div>
+<a name="idp521514544"></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
@@ -348,7 +348,7 @@ private:
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp609225520"></a>Why derivation from <code class="computeroutput">trackable</code>?</h4></div></div></div>
+<a name="idp521520704"></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" style="list-style-type: disc; ">
@@ -366,14 +366,14 @@ private:
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idp609234848"></a>Comparison with other Signal/Slot implementations</h3></div></div></div>
+<a name="idp521530032"></a>Comparison with other Signal/Slot implementations</h3></div></div></div>
 <div class="toc"><dl class="toc">
-<dt><span class="section"><a href="s06.html#idp609235552">libsigc++</a></span></dt>
-<dt><span class="section"><a href="s06.html#idp609242896">.NET delegates</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521530736">libsigc++</a></span></dt>
+<dt><span class="section"><a href="s06.html#idp521538080">.NET delegates</a></span></dt>
 </dl></div>
 <div class="section">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp609235552"></a>libsigc++</h4></div></div></div>
+<a name="idp521530736"></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
@@ -405,7 +405,7 @@ private:
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h4 class="title">
-<a name="idp609242896"></a>.NET delegates</h4></div></div></div>
+<a name="idp521538080"></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