Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r77886 - in trunk: boost libs/scope_exit/doc libs/scope_exit/doc/html libs/scope_exit/doc/html/scope_exit libs/scope_exit/test
From: lorcaminiti_at_[hidden]
Date: 2012-04-10 11:22:09


Author: lcaminiti
Date: 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
New Revision: 77886
URL: http://svn.boost.org/trac/boost/changeset/77886

Log:
Fixed a bug in same_line test and upd docs.
Text files modified:
   trunk/boost/scope_exit.hpp | 13 +++++++----
   trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT.html | 2
   trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ALL.html | 2
   trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ALL_ID.html | 2
   trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS.html | 2
   trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_END.html | 2
   trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_END_ID.html | 2
   trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ID.html | 2
   trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_TPL.html | 2
   trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_TPL_ID.html | 2
   trunk/libs/scope_exit/doc/html/index.html | 10 ++------
   trunk/libs/scope_exit/doc/html/scope_exit/Alternatives.html | 5 +--
   trunk/libs/scope_exit/doc/html/scope_exit/Getting_Started.html | 43 +++++++++++++++++++++++++++++++++++++--
   trunk/libs/scope_exit/doc/html/scope_exit/No_Variadic_Macros.html | 4 +-
   trunk/libs/scope_exit/doc/html/scope_exit/Tutorial.html | 30 +++++++++++++-------------
   trunk/libs/scope_exit/doc/scope_exit.qbk | 31 +++++++++++++++++++++++-----
   trunk/libs/scope_exit/test/same_line.cpp | 4 +-
   trunk/libs/scope_exit/test/same_line_seq.cpp | 4 +-
   18 files changed, 108 insertions(+), 54 deletions(-)

Modified: trunk/boost/scope_exit.hpp
==============================================================================
--- trunk/boost/scope_exit.hpp (original)
+++ trunk/boost/scope_exit.hpp 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -798,16 +798,19 @@
                     BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, seq)
 # endif
 #else // Variadic macros (both sequences and variadic tuples).
-# define BOOST_SCOPE_EXIT_ID(id, within_template, ...) \
- BOOST_SCOPE_EXIT_AUX_IMPL(id, \
- BOOST_PP_EXPR_IIF(within_template, typename), \
+# define BOOST_SCOPE_EXIT_ID(id, ...) \
+ BOOST_SCOPE_EXIT_AUX_IMPL(id, BOOST_PP_EMPTY(), \
+ BOOST_SCOPE_EXIT_AUX_TRAITS( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(__VA_ARGS__)))
+# define BOOST_SCOPE_EXIT_TPL_ID(id, ...) \
+ BOOST_SCOPE_EXIT_AUX_IMPL(id, typename, \
                 BOOST_SCOPE_EXIT_AUX_TRAITS( \
                         BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(__VA_ARGS__)))
 # define BOOST_SCOPE_EXIT(...) \
- BOOST_SCOPE_EXIT_ID(BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, 0, \
+ BOOST_SCOPE_EXIT_ID(BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, \
                 __VA_ARGS__)
 # define BOOST_SCOPE_EXIT_TPL(...) \
- BOOST_SCOPE_EXIT_ID(BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, 1, \
+ BOOST_SCOPE_EXIT_TPL_ID(BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, \
                 __VA_ARGS__)
 # if !defined(BOOST_NO_LAMBDAS)
 # define BOOST_SCOPE_EXIT_ALL_ID(id, ...) \

Modified: trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT.html (original)
+++ trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -33,7 +33,7 @@
 
 </span>BOOST_SCOPE_EXIT(capture_list)</pre></div>
 <div class="refsect1">
-<a name="id855581"></a><h2>Description</h2>
+<a name="id881228"></a><h2>Description</h2>
 <p>The scope exit declaration schedules the execution of the scope exit body at the exit of the enclosing scope:</p>
 <pre class="programlisting"> <span class="special">{</span> <span class="comment">// Some local scope.</span>
         <span class="special">...</span>

Modified: trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ALL.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ALL.html (original)
+++ trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ALL.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -33,7 +33,7 @@
 
 </span>BOOST_SCOPE_EXIT_ALL(capture_list)</pre></div>
 <div class="refsect1">
-<a name="id857075"></a><h2>Description</h2>
+<a name="id882718"></a><h2>Description</h2>
 <p>This macro accepts a capture list starting with either <code class="computeroutput">&amp;</code> or <code class="computeroutput">=</code> to capture all variables in scope by reference or value respectively (following the same syntax of C++11 lambdas). A part from that, this macro works like <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code> (see <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code> for more information):</p>
 <pre class="programlisting"> <span class="special">{</span> <span class="comment">// Some local scope.</span>
         <span class="special">...</span>

Modified: trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ALL_ID.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ALL_ID.html (original)
+++ trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ALL_ID.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -33,7 +33,7 @@
 
 </span>BOOST_SCOPE_EXIT_ALL_ID(id, capture_list)</pre></div>
 <div class="refsect1">
-<a name="id857728"></a><h2>Description</h2>
+<a name="id883371"></a><h2>Description</h2>
 <p>This macro is equivalent to <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code> but it can be expanded multiple times on the same line if different identifiers <code class="computeroutput">id</code> are provided for each expansion (see <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code> for more information). As with <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code>, this macro is only available on C++11 compilers (specifically, on C++11 compilers that do not define the Boost.Config <code class="computeroutput">BOOST_NO_LAMBDAS</code> macro).</p>
 <p><span class="bold"><strong>Parameters:</strong></span> </p>
 <div class="informaltable"><table class="table">

Modified: trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS.html (original)
+++ trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -33,7 +33,7 @@
 
 </span>BOOST_SCOPE_EXIT_CONFIG_USE_LAMBDAS</pre></div>
 <div class="refsect1">
-<a name="id859313"></a><h2>Description</h2>
+<a name="id885498"></a><h2>Description</h2>
 <p>If programmers define this configuration macro on a C++11 compiler for which the Boost.Config macro <code class="computeroutput">BOOST_NO_LAMBDAS</code> is not defined, the <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code> and <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code> macros will use C++11 lambda functions to declare scope exits. By default this macro is not defined.</p>
 <p><span class="bold"><strong>Warning:</strong></span> When scope exits are implemented using lambda functions, the syntax of the capture list follows the exact same syntax of C++11 lambda captures which is in general different from the legacy capture syntax of this library. For example, C++11 lambdas require to capture data members by capturing the object <code class="computeroutput">this</code> while this library always allowed to capture data members directly. Therefore, when this configuration macro is defined, <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code> and <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code> are no longer backward compatible (and this is why this macro is not defined by default).</p>
 <p>A semicolon <code class="computeroutput">;</code> can be used instead of <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_END.html" title="Macro BOOST_SCOPE_EXIT_END">BOOST_SCOPE_EXIT_END</a></code> when this configuration macro is defined (but it is recommended to always use <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_END.html" title="Macro BOOST_SCOPE_EXIT_END">BOOST_SCOPE_EXIT_END</a></code> so to maximize portability).</p>

Modified: trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_END.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_END.html (original)
+++ trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_END.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -33,7 +33,7 @@
 
 </span>BOOST_SCOPE_EXIT_END</pre></div>
 <div class="refsect1">
-<a name="id857888"></a><h2>Description</h2>
+<a name="id883531"></a><h2>Description</h2>
 <p>This macro must follow the closing curly bracket <code class="computeroutput">}</code> that ends the body of either <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code> or <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code>:</p>
 <pre class="programlisting"> <span class="special">{</span> <span class="comment">// Some local scope.</span>
         <span class="special">...</span>

Modified: trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_END_ID.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_END_ID.html (original)
+++ trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_END_ID.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -33,7 +33,7 @@
 
 </span>BOOST_SCOPE_EXIT_END_ID(id)</pre></div>
 <div class="refsect1">
-<a name="id859181"></a><h2>Description</h2>
+<a name="id885366"></a><h2>Description</h2>
 <p>This macro is equivalent to <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_END.html" title="Macro BOOST_SCOPE_EXIT_END">BOOST_SCOPE_EXIT_END</a></code> but it can be expanded multiple times on the same line if different identifiers <code class="computeroutput">id</code> are provided for each expansion (see <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_END.html" title="Macro BOOST_SCOPE_EXIT_END">BOOST_SCOPE_EXIT_END</a></code> for more information).</p>
 <p><span class="bold"><strong>Parameters:</strong></span> </p>
 <div class="informaltable"><table class="table">

Modified: trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ID.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ID.html (original)
+++ trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_ID.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -33,7 +33,7 @@
 
 </span>BOOST_SCOPE_EXIT_ID(id, capture_list)</pre></div>
 <div class="refsect1">
-<a name="id856741"></a><h2>Description</h2>
+<a name="id882384"></a><h2>Description</h2>
 <p>This macro is equivalent to <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code> but it can be expanded multiple times on the same line if different identifiers <code class="computeroutput">id</code> are provided for each expansion (see <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code> for more information).</p>
 <p><span class="bold"><strong>Parameters:</strong></span> </p>
 <div class="informaltable"><table class="table">

Modified: trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_TPL.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_TPL.html (original)
+++ trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_TPL.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -33,7 +33,7 @@
 
 </span>BOOST_SCOPE_EXIT_TPL(capture_list)</pre></div>
 <div class="refsect1">
-<a name="id856189"></a><h2>Description</h2>
+<a name="id881832"></a><h2>Description</h2>
 <p>Various versions of the GCC compiler do not compile <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code> inside function templates. As a workaround, <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code> should be used instead of <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code> in these cases:</p>
 <pre class="programlisting"> <span class="special">{</span> <span class="comment">// Some local scope.</span>
         <span class="special">...</span>

Modified: trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_TPL_ID.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_TPL_ID.html (original)
+++ trunk/libs/scope_exit/doc/html/BOOST_SCOPE_EXIT_TPL_ID.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -33,7 +33,7 @@
 
 </span>BOOST_SCOPE_EXIT_TPL_ID(id, capture_list)</pre></div>
 <div class="refsect1">
-<a name="id856904"></a><h2>Description</h2>
+<a name="id882547"></a><h2>Description</h2>
 <p>This macro is equivalent to <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code> but it can be expanded multiple times on the same line if different identifiers <code class="computeroutput">id</code> are provided for each expansion (see <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code> for more information). As with <code class="computeroutput"><a class="link" href="BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code>, it is recommended to always use this macro when expanding scope exits multiple times on the same line within templates.</p>
 <p><span class="bold"><strong>Parameters:</strong></span> </p>
 <div class="informaltable"><table class="table">

Modified: trunk/libs/scope_exit/doc/html/index.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/index.html (original)
+++ trunk/libs/scope_exit/doc/html/index.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -42,6 +42,7 @@
 <dt><span class="section">Introduction</span></dt>
 <dt><span class="section">Getting Started</span></dt>
 <dd><dl>
+<dt><span class="section">Documentation</span></dt>
 <dt><span class="section"><a href="scope_exit/Getting_Started.html#scope_exit.Getting_Started.compilers_and_platforms">Compilers
       and Platforms</a></span></dt>
 <dt><span class="section">Installation</span></dt>
@@ -105,11 +106,6 @@
 </pre>
 <p>
     </p>
-<p>
- Read the <a class="link" href="scope_exit/Tutorial.html" title="Tutorial">Tutorial</a> section to find
- out how to write programs with <a class="link" href="index.html" title="Chapter&#160;1.&#160;Boost.ScopeExit 1.1.0">Boost.ScopeExit</a>
- or jump to the Reference section.
- </p>
 </div>
 <div class="footnotes">
 <br><hr width="100" align="left">
@@ -119,12 +115,12 @@
         backward compatibility, it is now possible to specify the captured variables
         also using a comma-separated list (which is the preferred syntax). See the
         <a class="link" href="scope_exit/No_Variadic_Macros.html" title="Annex: No Variadic Macros">No Variadic Macros</a> section
- for more details.
+ for more information.
       </p></div>
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: April 09, 2012 at 20:30:24 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 10, 2012 at 13:53:37 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: trunk/libs/scope_exit/doc/html/scope_exit/Alternatives.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/scope_exit/Alternatives.html (original)
+++ trunk/libs/scope_exit/doc/html/scope_exit/Alternatives.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -255,9 +255,8 @@
       language. Unfortunately, these are not possible in C++ because failure or success
       conditions cannot be determined by calling <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">uncaught_exception</span></code>
       (see Guru of the Week #47
- for more details about <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">uncaught_exception</span></code>
- and if it has any good use at all). However, this is not a big problem because
- these two D's
+ for details about <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">uncaught_exception</span></code> and if it has any good
+ use at all). However, this is not a big problem because these two D's
       constructs can be expressed in terms of scope(exit)
       and a <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">commit</span></code>
       variable (similarly to some examples presented in the <a class="link" href="Tutorial.html" title="Tutorial">Tutorial</a>

Modified: trunk/libs/scope_exit/doc/html/scope_exit/Getting_Started.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/scope_exit/Getting_Started.html (original)
+++ trunk/libs/scope_exit/doc/html/scope_exit/Getting_Started.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -27,6 +27,7 @@
 <a name="scope_exit.Getting_Started"></a><a class="link" href="Getting_Started.html" title="Getting Started">Getting Started</a>
 </h2></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section">Documentation</span></dt>
 <dt><span class="section"><a href="Getting_Started.html#scope_exit.Getting_Started.compilers_and_platforms">Compilers
       and Platforms</a></span></dt>
 <dt><span class="section">Installation</span></dt>
@@ -34,6 +35,32 @@
 <p>
       This section explains how to setup a system to use this library.
     </p>
+<div class="section scope_exit_Getting_Started_documentation">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="scope_exit.Getting_Started.documentation"></a><a class="link" href="Getting_Started.html#scope_exit.Getting_Started.documentation" title="Documentation">Documentation</a>
+</h3></div></div></div>
+<p>
+ Programmers should have enough knowledge to use this library after reading
+ the <a class="link" href="../">Introduction</a>, <a class="link" href="Getting_Started.html" title="Getting Started">Getting
+ Started</a>, and <a class="link" href="Tutorial.html" title="Tutorial">Tutorial</a> sections.
+ The Reference section can be consulted
+ at a later point for quick reference. All the other sections of this documentation
+ can be considered optional.
+ </p>
+<p>
+ Some footnotes are marked by the word "<span class="bold"><strong>Rationale</strong></span>".
+ They explain reasons behind decisions made during the design and implementation
+ of this library.
+ </p>
+<p>
+ In most of the examples presented in this documentation, the Boost.Detail/LightweightTest
+ (<code class="literal">boost/detail/lightweight_test.hpp</code>) macro <code class="computeroutput"><span class="identifier">BOOST_TEST</span></code> is used to check correctness
+ conditions (conceptually similar to <code class="computeroutput"><span class="identifier">assert</span></code>).
+ A failure of the checked condition does not abort the execution of the program,
+ it will instead make <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">report_errors</span></code>
+ return a non-zero program exit code. <sup>[<a name="scope_exit.Getting_Started.documentation.f0" href="#ftn.scope_exit.Getting_Started.documentation.f0" class="footnote">2</a>]</sup>
+ </p>
+</div>
 <div class="section scope_exit_Getting_Started_compilers_and_platforms">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="scope_exit.Getting_Started.compilers_and_platforms"></a><a class="link" href="Getting_Started.html#scope_exit.Getting_Started.compilers_and_platforms" title="Compilers and Platforms">Compilers
@@ -54,13 +81,14 @@
 <li class="listitem">
             GCC 3.3 cannot compile <a class="link" href="../index.html" title="Chapter&#160;1.&#160;Boost.ScopeExit 1.1.0">Boost.ScopeExit</a>
             inside a template (see http://lists.boost.org/Archives/boost/2007/02/116235.php
- for more details).
+ for details).
           </li>
 </ul></div>
 <p>
         See the library <a href="http://www.boost.org/development/tests/release/developer/scope_exit.html" target="_top">regression
         test results</a> for detailed information on supported compilers and
- platforms.
+ platforms. Check the library regression test Jamfile.v2
+ for any special configuration that might be required for a specific compiler.
       </p>
 </div>
 <div class="section scope_exit_Getting_Started_installation">
@@ -81,9 +109,18 @@
         emulation</a> mode, all types should be properly registered using BOOST_TYPEOF_REGISTER_TYPE
         and BOOST_TYPEOF_REGISTER_TEMPLATE,
         or appropriate Boost.Typeof
- headers should be included.
+ headers should be included (see the source code of most examples presented
+ in this documentation).
       </p>
 </div>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Getting_Started.documentation.f0" href="#scope_exit.Getting_Started.documentation.f0" class="para">2</a>] </sup>
+ <span class="bold"><strong>Rationale.</strong></span> Using Boost.Detail/LightweightTest
+ allows to add the examples to the library regression tests so to make sure
+ that they always compile and run correctly.
+ </p></div>
+</div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: trunk/libs/scope_exit/doc/html/scope_exit/No_Variadic_Macros.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/scope_exit/No_Variadic_Macros.html (original)
+++ trunk/libs/scope_exit/doc/html/scope_exit/No_Variadic_Macros.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -37,7 +37,7 @@
     </h6>
 <p>
       Most modern compilers support variadic macros (notably, these include GCC,
- MSVC, and all C++11 compilers). <sup>[<a name="scope_exit.No_Variadic_Macros.f0" href="#ftn.scope_exit.No_Variadic_Macros.f0" class="footnote">9</a>]</sup> However, in the rare case that programmers need to use this library
+ MSVC, and all C++11 compilers). <sup>[<a name="scope_exit.No_Variadic_Macros.f0" href="#ftn.scope_exit.No_Variadic_Macros.f0" class="footnote">10</a>]</sup> However, in the rare case that programmers need to use this library
       on a complier without variaidc macros, this library also allows to specify
       the capture list using a Boost.Preprocessor
       sequence where tokens are separated by round parenthesis <code class="computeroutput"><span class="special">()</span></code>:
@@ -206,7 +206,7 @@
 </table></div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a id="ftn.scope_exit.No_Variadic_Macros.f0" href="#scope_exit.No_Variadic_Macros.f0" class="para">9</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.scope_exit.No_Variadic_Macros.f0" href="#scope_exit.No_Variadic_Macros.f0" class="para">10</a>] </sup>
         A C++ compiler does not support variadic macros if the Boost.Config
         macro <code class="computeroutput"><span class="identifier">BOOST_NO_VARIADIC_MACROS</span></code>
         is defined for that compiler.

Modified: trunk/libs/scope_exit/doc/html/scope_exit/Tutorial.html
==============================================================================
--- trunk/libs/scope_exit/doc/html/scope_exit/Tutorial.html (original)
+++ trunk/libs/scope_exit/doc/html/scope_exit/Tutorial.html 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -228,7 +228,7 @@
         by the <code class="computeroutput"><span class="keyword">void</span></code> keyword (similarly
         to the C++ syntax that allows to declare a function with no parameter using
         <code class="literal"><span class="emphasis"><em>result-type function-name</em></span></code><code class="computeroutput"><span class="special">(</span><span class="keyword">void</span><span class="special">)</span></code>).
- <sup>[<a name="scope_exit.Tutorial.capturing_no_variable.f0" href="#ftn.scope_exit.Tutorial.capturing_no_variable.f0" class="footnote">2</a>]</sup> For example, this can be useful when the <a class="link" href="../index.html" title="Chapter&#160;1.&#160;Boost.ScopeExit 1.1.0">Boost.ScopeExit</a>
+ <sup>[<a name="scope_exit.Tutorial.capturing_no_variable.f0" href="#ftn.scope_exit.Tutorial.capturing_no_variable.f0" class="footnote">3</a>]</sup> For example, this can be useful when the <a class="link" href="../index.html" title="Chapter&#160;1.&#160;Boost.ScopeExit 1.1.0">Boost.ScopeExit</a>
         body only needs to access global variables (see also world_void.cpp):
       </p>
 <p>
@@ -268,7 +268,7 @@
         On C++11 compliers, it is also possible to capture all the variables in scope
         without naming them one-by-one using the special macro <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code>
         instead of <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code>.
- <sup>[<a name="scope_exit.Tutorial.capturing_all_variables__c__11_only_.f0" href="#ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f0" class="footnote">3</a>]</sup>
+ <sup>[<a name="scope_exit.Tutorial.capturing_all_variables__c__11_only_.f0" href="#ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f0" class="footnote">4</a>]</sup>
       </p>
 <p>
         Following the same syntax adopted by C++11 lambda functions, the <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code> macro accepts
@@ -334,12 +334,12 @@
 <div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
             The <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code>
- macro cannot capture data members without capturing the object <code class="computeroutput"><span class="keyword">this</span></code> while that is not the case for <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code>. <sup>[<a name="scope_exit.Tutorial.capturing_all_variables__c__11_only_.f1" href="#ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f1" class="footnote">4</a>]</sup>
+ macro cannot capture data members without capturing the object <code class="computeroutput"><span class="keyword">this</span></code> while that is not the case for <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code>. <sup>[<a name="scope_exit.Tutorial.capturing_all_variables__c__11_only_.f1" href="#ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f1" class="footnote">5</a>]</sup>
           </li>
 <li class="listitem">
             The <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code>
             macro captures the object in scope using <code class="computeroutput"><span class="keyword">this</span></code>
- instead of <code class="computeroutput"><span class="identifier">this_</span></code>. <sup>[<a name="scope_exit.Tutorial.capturing_all_variables__c__11_only_.f2" href="#ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f2" class="footnote">5</a>]</sup>
+ instead of <code class="computeroutput"><span class="identifier">this_</span></code>. <sup>[<a name="scope_exit.Tutorial.capturing_all_variables__c__11_only_.f2" href="#ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f2" class="footnote">6</a>]</sup>
           </li>
 <li class="listitem">
             The <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code>
@@ -368,7 +368,7 @@
         inside templates (see the Reference section
         for more information). As a workaround, <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code>
         should be used instead of <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code>
- in these cases. <sup>[<a name="scope_exit.Tutorial.template_workaround__gcc_.f0" href="#ftn.scope_exit.Tutorial.template_workaround__gcc_.f0" class="footnote">6</a>]</sup> The <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code>
+ in these cases. <sup>[<a name="scope_exit.Tutorial.template_workaround__gcc_.f0" href="#ftn.scope_exit.Tutorial.template_workaround__gcc_.f0" class="footnote">7</a>]</sup> The <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code>
         macro has the exact same syntax of <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code>.
         For example (see also world_tpl.cpp):
       </p>
@@ -404,7 +404,7 @@
         <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_TPL.html" title="Macro BOOST_SCOPE_EXIT_TPL">BOOST_SCOPE_EXIT_TPL</a></code>,
         <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_END.html" title="Macro BOOST_SCOPE_EXIT_END">BOOST_SCOPE_EXIT_END</a></code>, and
         <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code> macros
- multiple times on the same line. <sup>[<a name="scope_exit.Tutorial.same_line_expansions.f0" href="#ftn.scope_exit.Tutorial.same_line_expansions.f0" class="footnote">7</a>]</sup>
+ multiple times on the same line. <sup>[<a name="scope_exit.Tutorial.same_line_expansions.f0" href="#ftn.scope_exit.Tutorial.same_line_expansions.f0" class="footnote">8</a>]</sup>
       </p>
 <p>
         Therefore, this library provides additional macros <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ID.html" title="Macro BOOST_SCOPE_EXIT_ID">BOOST_SCOPE_EXIT_ID</a></code>,
@@ -415,7 +415,7 @@
         specify a unique identifiers as the macros' first parameters. The unique
         identifier can be any token (not just numeric) that can be concatenated by
         the C++ preprocessor (e.g., <code class="computeroutput"><span class="identifier">scope_exit_number_1_at_line_123</span></code>).
- <sup>[<a name="scope_exit.Tutorial.same_line_expansions.f1" href="#ftn.scope_exit.Tutorial.same_line_expansions.f1" class="footnote">8</a>]</sup>
+ <sup>[<a name="scope_exit.Tutorial.same_line_expansions.f1" href="#ftn.scope_exit.Tutorial.same_line_expansions.f1" class="footnote">9</a>]</sup>
       </p>
 <p>
         The <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ID.html" title="Macro BOOST_SCOPE_EXIT_ID">BOOST_SCOPE_EXIT_ID</a></code>,
@@ -480,7 +480,7 @@
         <span class="identifier">SCOPE_EXIT_ALL_INC_DEC</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">delta</span><span class="special">)</span> <span class="comment">// Multiple scope exits on same line.</span>
     <span class="special">}</span>
     <span class="identifier">BOOST_TEST</span><span class="special">(</span><span class="identifier">x</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
-<span class="preprocessor">#endif</span> <span class="comment">// lambdas</span>
+<span class="preprocessor">#endif</span> <span class="comment">// LAMBDAS</span>
 
     <span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">report_errors</span><span class="special">();</span>
 <span class="special">}</span>
@@ -499,14 +499,14 @@
 </div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.capturing_no_variable.f0" href="#scope_exit.Tutorial.capturing_no_variable.f0" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.capturing_no_variable.f0" href="#scope_exit.Tutorial.capturing_no_variable.f0" class="para">3</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> Unfortunately, it is not possible
           to simply invoke the <a class="link" href="../index.html" title="Chapter&#160;1.&#160;Boost.ScopeExit 1.1.0">Boost.ScopeExit</a>
           macro with no parameters as in <code class="computeroutput"><span class="identifier">BOOST_SCOPE_EXIT</span><span class="special">()</span></code> because the C++ preprocessor cannot detect
           emptiness of a macro parameter when the parameter can start with a non-alphanumeric
           symbol (which is the case when capturing a variable by reference <code class="computeroutput"><span class="special">&amp;</span><span class="identifier">variable</span></code>).
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f0" href="#scope_exit.Tutorial.capturing_all_variables__c__11_only_.f0" class="para">3</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f0" href="#scope_exit.Tutorial.capturing_all_variables__c__11_only_.f0" class="para">4</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> The <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code>
           macro is only defined on C++11 compilers for which the Boost.Config
           macro <code class="computeroutput"><span class="identifier">BOOST_NO_LAMBDAS</span></code>
@@ -525,26 +525,26 @@
           so the first capture tokens are simply never compared with neither <code class="computeroutput"><span class="keyword">void</span></code> nor <code class="computeroutput"><span class="identifier">this_</span></code>
           for this macro).
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f1" href="#scope_exit.Tutorial.capturing_all_variables__c__11_only_.f1" class="para">4</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f1" href="#scope_exit.Tutorial.capturing_all_variables__c__11_only_.f1" class="para">5</a>] </sup>
               At present, there seems to be some discussion to allow C++11 lambda
               functions to capture data members without capturing the object <code class="computeroutput"><span class="keyword">this</span></code>. If the C++11 standard were changed
               to allow this, the <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code>
               macro syntax could be extended to be a superset of the <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT.html" title="Macro BOOST_SCOPE_EXIT">BOOST_SCOPE_EXIT</a></code>
               macro while keeping full backward compatibility.
             </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f2" href="#scope_exit.Tutorial.capturing_all_variables__c__11_only_.f2" class="para">5</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.capturing_all_variables__c__11_only_.f2" href="#scope_exit.Tutorial.capturing_all_variables__c__11_only_.f2" class="para">6</a>] </sup>
               On compilers that support the use of the <code class="computeroutput"><span class="keyword">typename</span></code>
               outside templates as allowed by the C++11 standard, <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code>
               can use both <code class="computeroutput"><span class="keyword">this</span></code> and
               <code class="computeroutput"><span class="identifier">this_</span></code> to capture the
               object in scope (notably, this is not the case for the MSVC 10.0 compiler).
             </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.template_workaround__gcc_.f0" href="#scope_exit.Tutorial.template_workaround__gcc_.f0" class="para">6</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.template_workaround__gcc_.f0" href="#scope_exit.Tutorial.template_workaround__gcc_.f0" class="para">7</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> GCC versions compliant with
           C++11 do not present this issue and given that <code class="computeroutput"><a class="link" href="../BOOST_SCOPE_EXIT_ALL.html" title="Macro BOOST_SCOPE_EXIT_ALL">BOOST_SCOPE_EXIT_ALL</a></code>
           is only available on C++11 compilers, there is no need for a <code class="computeroutput"><span class="identifier">BOOST_SCOPE_EXIT_ALL_TPL</span></code> macro.
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.same_line_expansions.f0" href="#scope_exit.Tutorial.same_line_expansions.f0" class="para">7</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.same_line_expansions.f0" href="#scope_exit.Tutorial.same_line_expansions.f0" class="para">8</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> The library macros internally
           use <code class="computeroutput"><span class="identifier">__LINE__</span></code> to generate
           unique identifiers. Therefore, if the same macro is expanded more than
@@ -553,7 +553,7 @@
           and other compilers that provide the non-standard <code class="computeroutput"><span class="identifier">__COUNTER__</span></code>
           macro.)
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.same_line_expansions.f1" href="#scope_exit.Tutorial.same_line_expansions.f1" class="para">8</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.scope_exit.Tutorial.same_line_expansions.f1" href="#scope_exit.Tutorial.same_line_expansions.f1" class="para">9</a>] </sup>
           Because there are restrictions on the set of tokens that the C++ preprocessor
           can concatenate and because not all compilers correctly implement these
           restrictions, it is in general recommended to specify unique identifiers

Modified: trunk/libs/scope_exit/doc/scope_exit.qbk
==============================================================================
--- trunk/libs/scope_exit/doc/scope_exit.qbk (original)
+++ trunk/libs/scope_exit/doc/scope_exit.qbk 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -25,6 +25,8 @@
     [dirname scope_exit]
 ]
 
+[def __Introduction__ [link scope_exit.Introduction Introduction]]
+[def __Getting_Started__ [link scope_exit.Getting_Started Getting Started]]
 [def __Tutorial__ [link scope_exit.Tutorial Tutorial]]
 [def __No_Variadic_Macros__ [link scope_exit.No_Variadic_Macros No Variadic Macros]]
 [def __Reference__ [@reference.html Reference]]
@@ -71,28 +73,45 @@
 [footnote
 Older versions of this library used a __Boost_Preprocessor__ sequence to specify the list of captured variables.
 While maintaining full backward compatibility, it is now possible to specify the captured variables also using a comma-separated list (which is the preferred syntax).
-See the __No_Variadic_Macros__ section for more details.
+See the __No_Variadic_Macros__ section for more information.
 ]
 
 [world]
 
-Read the __Tutorial__ section to find out how to write programs with __Boost_ScopeExit__ or jump to the __Reference__ section.
-
 [endsect]
 
 [section:Getting_Started Getting Started]
 
 This section explains how to setup a system to use this library.
 
+[section Documentation]
+
+Programmers should have enough knowledge to use this library after reading the __Introduction__, __Getting_Started__, and __Tutorial__ sections.
+The __Reference__ section can be consulted at a later point for quick reference.
+All the other sections of this documentation can be considered optional.
+
+Some footnotes are marked by the word "*Rationale*".
+They explain reasons behind decisions made during the design and implementation of this library.
+
+In most of the examples presented in this documentation, the Boost.Detail/LightweightTest (=boost/detail/lightweight_test.hpp=) macro `BOOST_TEST` is used to check correctness conditions (conceptually similar to `assert`).
+A failure of the checked condition does not abort the execution of the program, it will instead make `boost::report_errors` return a non-zero program exit code.
+[footnote
+*Rationale.*
+Using Boost.Detail/LightweightTest allows to add the examples to the library regression tests so to make sure that they always compile and run correctly.
+]
+
+[endsect]
+
 [section Compilers and Platforms]
 
 The authors originally developed and tested the library on GNU Compiler Collection (GCC) C++ 3.3, 3.4, 4.1, 4.2, 4.5.3 (with and without C++11 features [^-std=c++0x]), Microsoft Visual C++ (MSVC) 8.0, and Intel 10.1 under Linux, Cygwin, and Windows 7.
 However, this library should be usable on any compiler that supports __Boost_Typeof__ except:
 
 * MSVC 7.1 and 8.0 fail to link if a function with __Boost_ScopeExit__ is included by multiple translation units.
-* GCC 3.3 cannot compile __Boost_ScopeExit__ inside a template (see [@http://lists.boost.org/Archives/boost/2007/02/116235.php] for more details).
+* GCC 3.3 cannot compile __Boost_ScopeExit__ inside a template (see [@http://lists.boost.org/Archives/boost/2007/02/116235.php] for details).
 
 See the library [@http://www.boost.org/development/tests/release/developer/scope_exit.html regression test results] for detailed information on supported compilers and platforms.
+Check the library regression test [@../../test/Jamfile.v2 =Jamfile.v2=] for any special configuration that might be required for a specific compiler.
 
 [endsect]
 
@@ -103,7 +122,7 @@
 Programmers can simply instruct the compiler where to find the library header files (`-I` option on GCC, `/I` option on MSVC, etc) and compile code using the library.
 
 The library implementation uses __Boost_Typeof__ to automatically deduce the types of the __Boost_ScopeExit__ captured variables (see the __Tutorial__ section).
-In order to compile code in __typeof_emulation__ mode, all types should be properly registered using __BOOST_TYPEOF_REGISTER_TYPE__ and __BOOST_TYPEOF_REGISTER_TEMPLATE__, or appropriate __Boost_Typeof__ headers should be included.
+In order to compile code in __typeof_emulation__ mode, all types should be properly registered using __BOOST_TYPEOF_REGISTER_TYPE__ and __BOOST_TYPEOF_REGISTER_TEMPLATE__, or appropriate __Boost_Typeof__ headers should be included (see the source code of most examples presented in this documentation).
 
 [endsect]
 
@@ -391,7 +410,7 @@
 __Boost_ScopeExit__ is similar to __D_scope_exit__ feature built into the __D__ programming language.
 
 A curious reader may notice that the library does not implement `scope(success)` and `scope(failure)` of the __D__ language.
-Unfortunately, these are not possible in C++ because failure or success conditions cannot be determined by calling `std::uncaught_exception` (see [@http://www.gotw.ca/gotw/047.htm Guru of the Week #47] for more details about `std::uncaught_exception` and if it has any good use at all).
+Unfortunately, these are not possible in C++ because failure or success conditions cannot be determined by calling `std::uncaught_exception` (see [@http://www.gotw.ca/gotw/047.htm Guru of the Week #47] for details about `std::uncaught_exception` and if it has any good use at all).
 However, this is not a big problem because these two __D__'s constructs can be expressed in terms of __D_scope_exit__ and a `bool commit` variable (similarly to some examples presented in the __Tutorial__ section).
 
 [h5 C++11 Lambdas]

Modified: trunk/libs/scope_exit/test/same_line.cpp
==============================================================================
--- trunk/libs/scope_exit/test/same_line.cpp (original)
+++ trunk/libs/scope_exit/test/same_line.cpp 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -28,12 +28,12 @@
     } BOOST_SCOPE_EXIT_END_ID(BOOST_PP_CAT(dec, __LINE__))
 
 #define SCOPE_EXIT_INC_DEC_TPL(variable, offset) \
- BOOST_SCOPE_EXIT_ID_TPL(BOOST_PP_CAT(inc, __LINE__), \
+ BOOST_SCOPE_EXIT_TPL_ID(BOOST_PP_CAT(inc, __LINE__), \
             &variable, offset) { \
         variable += offset; \
     } BOOST_SCOPE_EXIT_END_ID(BOOST_PP_CAT(inc, __LINE__)) \
     \
- BOOST_SCOPE_EXIT_ID_TPL(BOOST_PP_CAT(dec, __LINE__), \
+ BOOST_SCOPE_EXIT_TPL_ID(BOOST_PP_CAT(dec, __LINE__), \
             &variable, offset) { \
         variable -= offset; \
     } BOOST_SCOPE_EXIT_END_ID(BOOST_PP_CAT(dec, __LINE__))

Modified: trunk/libs/scope_exit/test/same_line_seq.cpp
==============================================================================
--- trunk/libs/scope_exit/test/same_line_seq.cpp (original)
+++ trunk/libs/scope_exit/test/same_line_seq.cpp 2012-04-10 11:22:06 EDT (Tue, 10 Apr 2012)
@@ -23,12 +23,12 @@
     } BOOST_SCOPE_EXIT_END_ID(BOOST_PP_CAT(dec, __LINE__))
 
 #define SCOPE_EXIT_INC_DEC_TPL(variable, offset) \
- BOOST_SCOPE_EXIT_ID_TPL(BOOST_PP_CAT(inc, __LINE__), \
+ BOOST_SCOPE_EXIT_TPL_ID(BOOST_PP_CAT(inc, __LINE__), \
             (&variable) (offset) ) { \
         variable += offset; \
     } BOOST_SCOPE_EXIT_END_ID(BOOST_PP_CAT(inc, __LINE__)) \
     \
- BOOST_SCOPE_EXIT_ID_TPL(BOOST_PP_CAT(dec, __LINE__), \
+ BOOST_SCOPE_EXIT_TPL_ID(BOOST_PP_CAT(dec, __LINE__), \
             (&variable) (offset) ) { \
         variable -= offset; \
     } BOOST_SCOPE_EXIT_END_ID(BOOST_PP_CAT(dec, __LINE__))


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk