Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r69241 - in sandbox/local: boost/local boost/local/aux_/function_macros/code_ libs/local/doc libs/local/doc/html libs/local/doc/html/boost/local libs/local/doc/html/boost_local libs/local/doc/qbk libs/local/example
From: lorcaminiti_at_[hidden]
Date: 2011-02-24 14:41:41


Author: lcaminiti
Date: 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
New Revision: 69241
URL: http://svn.boost.org/trac/boost/changeset/69241

Log:
Tested all examples on GCC and MSVC (having an issues with add_template on GCC... I've asked Boost).
Added:
   sandbox/local/libs/local/example/add_template_va.cpp (contents, props changed)
   sandbox/local/libs/local/example/print_map_va.cpp (contents, props changed)
Removed:
   sandbox/local/libs/local/example/renamed_exit.cpp
   sandbox/local/libs/local/example/renamed_print.cpp
Text files modified:
   sandbox/local/boost/local/aux_/function_macros/code_/deduce_result_type.hpp | 4 +-
   sandbox/local/boost/local/aux_/function_macros/code_/functor.hpp | 44 +++++++++++----------
   sandbox/local/boost/local/aux_/function_macros/code_/param.hpp | 3 +
   sandbox/local/boost/local/exit.hpp | 2
   sandbox/local/libs/local/doc/html/BOOST_IDENTITY_TYPE.html | 2
   sandbox/local/libs/local/doc/html/BOOST_IDENTITY_VALUE.html | 2
   sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK.html | 37 +-----------------
   sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK_END.html | 6 +-
   sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK_TPL.html | 8 +---
   sandbox/local/libs/local/doc/html/BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html | 8 ++--
   sandbox/local/libs/local/doc/html/BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html | 8 ++--
   sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT.html | 37 +-----------------
   sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT_END.html | 12 +++---
   sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT_TPL.html | 8 +---
   sandbox/local/libs/local/doc/html/BOOST_LOCAL_FUNCTION_NAME.html | 2
   sandbox/local/libs/local/doc/html/boost/local/function.html | 8 ++--
   sandbox/local/libs/local/doc/html/boost_local/Advanced.html | 52 ++++++++++++-------------
   sandbox/local/libs/local/doc/html/boost_local/Grammar.html | 10 ++--
   sandbox/local/libs/local/doc/html/boost_local/Rationale.html | 8 ++--
   sandbox/local/libs/local/doc/html/boost_local/Starting.html | 8 ++--
   sandbox/local/libs/local/doc/html/boost_local/Tutorial.html | 78 ++++++++++++++++++++--------------------
   sandbox/local/libs/local/doc/html/index.html | 2
   sandbox/local/libs/local/doc/html/reference.html | 30 +++++++++++++--
   sandbox/local/libs/local/doc/html/standalone_HTML.manifest | 6 +++
   sandbox/local/libs/local/doc/jamfile.jam | 4 +-
   sandbox/local/libs/local/doc/qbk/introduction.qbk | 2
   sandbox/local/libs/local/doc/qbk/local.qbk | 2
   sandbox/local/libs/local/example/add_template.cpp | 36 +++++++++---------
   sandbox/local/libs/local/example/jamfile.jam | 44 ++++++++++++++++++++--
   sandbox/local/libs/local/example/print_map.cpp | 4 +-
   30 files changed, 234 insertions(+), 243 deletions(-)

Modified: sandbox/local/boost/local/aux_/function_macros/code_/deduce_result_type.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/function_macros/code_/deduce_result_type.hpp (original)
+++ sandbox/local/boost/local/aux_/function_macros/code_/deduce_result_type.hpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -11,8 +11,8 @@
 #define BOOST_LOCAL_AUX_FUNCTION_CODE_DEDUCE_RESULT_TYPE( \
         id, typename_keyword) \
     /* declare function expr with preceeding result type and no param */ \
- /* result type here */ BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_TYPE(id)(); \
- typedef ::boost::function_traits<BOOST_TYPEOF( \
+ /* result type here */ (BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_TYPE(id))();\
+ typedef typename_keyword ::boost::function_traits<BOOST_TYPEOF( \
             BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_TYPE(id))>::result_type \
             BOOST_LOCAL_AUX_SYMBOL_RESULT_TYPE(id);
 

Modified: sandbox/local/boost/local/aux_/function_macros/code_/functor.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/function_macros/code_/functor.hpp (original)
+++ sandbox/local/boost/local/aux_/function_macros/code_/functor.hpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -48,12 +48,12 @@
         unbinds, \
         const_binds, has_const_bind_this, \
         binds, has_bind_this, \
- id) \
+ id, typename_keyword) \
     BOOST_LOCAL_AUX_SYMBOL_RESULT_TYPE(id) \
     operator()( \
             BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
                 BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_ARG_DECL, \
- ~, unbinds) \
+ typename_keyword, unbinds) \
             ) { \
         /* just forward call to member function with local func name */ \
         return BOOST_LOCAL_AUX_SYMBOL_BODY_FUNCTION_NAME( \
@@ -118,25 +118,27 @@
             unbinds), n), unbinds)
 
 #define BOOST_LOCAL_AUX_FUNCTION_CODE_FUNCTOR_CALL_FOR_DEFAULTS_(z, \
- n, params_unbinds_constbinds_hasconstthis_binds_hasthis_id) \
+ n, params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
     BOOST_LOCAL_AUX_FUNCTION_CODE_FUNCTOR_CALL_(z \
- , BOOST_PP_TUPLE_ELEM(7, 0, \
- params_unbinds_constbinds_hasconstthis_binds_hasthis_id) \
+ , BOOST_PP_TUPLE_ELEM(8, 0, \
+ params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
         /* remove last n default params */ \
- , BOOST_LOCAL_AUX_FUNCTION_CODE_FUNCTOR_UNBIND_REMOVE_LAST_N_( \
- n, \
- BOOST_PP_TUPLE_ELEM(7, 1, \
- params_unbinds_constbinds_hasconstthis_binds_hasthis_id)) \
- , BOOST_PP_TUPLE_ELEM(7, 2, \
- params_unbinds_constbinds_hasconstthis_binds_hasthis_id) \
- , BOOST_PP_TUPLE_ELEM(7, 3, \
- params_unbinds_constbinds_hasconstthis_binds_hasthis_id) \
- , BOOST_PP_TUPLE_ELEM(7, 4, \
- params_unbinds_constbinds_hasconstthis_binds_hasthis_id) \
- , BOOST_PP_TUPLE_ELEM(7, 5, \
- params_unbinds_constbinds_hasconstthis_binds_hasthis_id) \
- , BOOST_PP_TUPLE_ELEM(7, 6, \
- params_unbinds_constbinds_hasconstthis_binds_hasthis_id) \
+ , BOOST_LOCAL_AUX_FUNCTION_CODE_FUNCTOR_UNBIND_REMOVE_LAST_N_(n, \
+ BOOST_PP_TUPLE_ELEM(8, 1, \
+ params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
+ ) \
+ , BOOST_PP_TUPLE_ELEM(8, 2, \
+ params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
+ , BOOST_PP_TUPLE_ELEM(8, 3, \
+ params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
+ , BOOST_PP_TUPLE_ELEM(8, 4, \
+ params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
+ , BOOST_PP_TUPLE_ELEM(8, 5, \
+ params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
+ , BOOST_PP_TUPLE_ELEM(8, 6, \
+ params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
+ , BOOST_PP_TUPLE_ELEM(8, 7, \
+ params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
     )
 
 // Adapted from `BOOST_SCOPE_EXIT_AUX_IMPL()`.
@@ -171,8 +173,8 @@
                 /* PP_INC to handle no dflt (EXPAND for MVSC) */ \
                 BOOST_PP_EXPAND(BOOST_PP_INC(defaults_count)), \
                 BOOST_LOCAL_AUX_FUNCTION_CODE_FUNCTOR_CALL_FOR_DEFAULTS_,\
- (sign_params, unbinds, const_binds, \
- has_const_bind_this, binds, has_bind_this, id)) \
+ (sign_params, unbinds, const_binds, has_const_bind_this, \
+ binds, has_bind_this, id, typename_keyword) ) \
     private: \
         /* this type symbol cannot have ID postfix because it is used */ \
         /* the `NAME` macro (because this symbol is within functor class */ \

Modified: sandbox/local/boost/local/aux_/function_macros/code_/param.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/function_macros/code_/param.hpp (original)
+++ sandbox/local/boost/local/aux_/function_macros/code_/param.hpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -170,8 +170,9 @@
     BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_ARG_NAME_(BOOST_PP_INC(i))
 
 #define BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_ARG_DECL( \
- r, unused, i, param) \
+ r, typename_keyword, i, param) \
     BOOST_PP_COMMA_IF(i) \
+ typename_keyword \
     BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_ARG_TYPE_(BOOST_PP_INC(i)) \
     BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_ARG_NAME_(BOOST_PP_INC(i))
 

Modified: sandbox/local/boost/local/exit.hpp
==============================================================================
--- sandbox/local/boost/local/exit.hpp (original)
+++ sandbox/local/boost/local/exit.hpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -82,7 +82,7 @@
             BOOST_LOCAL_AUX_PP_VA_TO_SEQ( \
                     (void) /* for empty seq */, __VA_ARGS__))
 
-#define BOOST_LOCAL_EXIT_TPL(binding_list) \
+#define BOOST_LOCAL_EXIT_TPL(...) \
     BOOST_LOCAL_AUX_EXIT(BOOST_LOCAL_FUNCTION_PARAMS_TPL, \
             BOOST_LOCAL_AUX_PP_VA_TO_SEQ( \
                     (void) /* for empty seq */, __VA_ARGS__))

Modified: sandbox/local/libs/local/doc/html/BOOST_IDENTITY_TYPE.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_IDENTITY_TYPE.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_IDENTITY_TYPE.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -33,7 +33,7 @@
 
 </span>BOOST_IDENTITY_TYPE(parenthesized_type)</pre></div>
 <div class="refsect1">
-<a name="id889882"></a><h2>Description</h2>
+<a name="id890339"></a><h2>Description</h2>
 <p>This macro expands to an expression that can be passed as a single macro parameter even if it contains commas and that evaluates to the specified type at compile-time (see the <a class="link" href="boost_local/Advanced.html" title="Advanced">Advanced</a> section).</p>
 <p>For example <code class="computeroutput">BOOST_IDENTITY_TYPE((std::map&lt;int, double&gt;))</code> can be passed as a single macro parameter when instead <code class="computeroutput">std::map&lt;int, double&gt;</code> cannot (because it contains a comma not wrapped by round parenthesis so it will be interpreted as two separate macro parameters by the preprocessor).</p>
 <p><span class="bold"><strong>Parameters:</strong></span> </p>

Modified: sandbox/local/libs/local/doc/html/BOOST_IDENTITY_VALUE.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_IDENTITY_VALUE.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_IDENTITY_VALUE.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -33,7 +33,7 @@
 
 </span>BOOST_IDENTITY_VALUE(parenthesized_value)</pre></div>
 <div class="refsect1">
-<a name="id890022"></a><h2>Description</h2>
+<a name="id890479"></a><h2>Description</h2>
 <p>This macro expands to an expression that can be passed as a single macro parameter even if it contains commas and that evaluates to the specified value at run-time (see the <a class="link" href="boost_local/Advanced.html" title="Advanced">Advanced</a> section).</p>
 <p>For example <code class="computeroutput">BOOST_IDENTITY_VALUE((key_size&lt;int, double&gt;::value))</code> can be passed as a single macro parameter when instead <code class="computeroutput">key_size&lt;int, double&gt;::value</code> cannot (because it contains a comma not wrapped by round parenthesis so it will be interpreted as two separate macro parameters by the preprocessor).</p>
 <p><span class="bold"><strong>Parameters:</strong></span> </p>

Modified: sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -26,45 +26,12 @@
 <a name="BOOST_LOCAL_BLOCK"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_LOCAL_BLOCK</span></h2>
-<p>BOOST_LOCAL_BLOCK &#8212; This macro starts the declaration of a local block. </p>
+<p>BOOST_LOCAL_BLOCK</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="reference.html#header.boost.local.block_hpp" title="Header &lt;boost/local/block.hpp&gt;">boost/local/block.hpp</a>&gt;
 
-</span>BOOST_LOCAL_BLOCK(parenthesized_binding)</pre></div>
-<div class="refsect1">
-<a name="id887883"></a><h2>Description</h2>
-<p>This macro must be used within a declarative context, it must be followed by the local block body code <code class="computeroutput">{ ... }</code> and then by the <code class="computeroutput"><a class="link" href="BOOST_LOCAL_BLOCK_END.html" title="Macro BOOST_LOCAL_BLOCK_END">BOOST_LOCAL_BLOCK_END</a></code> macro (see the Tutorial section): </p>
-<pre class="programlisting"> <span class="special">{</span> <span class="comment">// Some declarative context.</span>
- <span class="special">...</span>
-
- <span class="identifier">BOOST_LOCAL_BLOCK</span><span class="special">(</span>
- <span class="identifier">parenthesized_binding</span>
- <span class="special">)</span> <span class="identifier">exception_specifications_optional</span> <span class="special">{</span>
- <span class="special">...</span> <span class="comment">// Block body.</span>
- <span class="special">}</span> <span class="identifier">BOOST_LOCAL_BLOCK_END</span>
-
- <span class="special">...</span>
- <span class="special">}</span>
-</pre>
-<p>Within templates, the special macro <code class="computeroutput"><a class="link" href="BOOST_LOCAL_BLOCK_TPL.html" title="Macro BOOST_LOCAL_BLOCK_TPL">BOOST_LOCAL_BLOCK_TPL</a></code> must be used instead of <code class="computeroutput"><a class="link" href="BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">BOOST_LOCAL_BLOCK</a></code>.</p>
-<p><span class="bold"><strong>Note:</strong></span> A <code class="computeroutput">return;</code> instruction from within a local block body jumps to the end of the local block body and it does not return the enclosing scope.</p>
-<p><span class="bold"><strong>Parameters:</strong></span> </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<tbody><tr>
-<td><span class="bold"><strong><code class="computeroutput">parenthesized_binding</code></strong></span></td>
-<td>A Boost.Preprocessor sequence that uses the parenthesized syntax to specify the variables in scope to bind (see the Grammar section). </td>
-</tr></tbody>
-</table></div>
-<p>
-</p>
-<p>As usual, exception specifications can be optionally programmed before the body code block (see the Advanced section).</p>
-<p><span class="bold"><strong>See:</strong></span> <a class="link" href="boost_local/Tutorial.html" title="Tutorial">Tutorial</a> section, <a class="link" href="boost_local/Advanced.html" title="Advanced">Advanced</a> section, <a class="link" href="boost_local/Grammar.html" title="Appendix: Grammar">Grammar</a> section, <code class="computeroutput"><a class="link" href="BOOST_LOCAL_BLOCK_TPL.html" title="Macro BOOST_LOCAL_BLOCK_TPL">BOOST_LOCAL_BLOCK_TPL</a></code>, <code class="computeroutput"><a class="link" href="BOOST_LOCAL_BLOCK_END.html" title="Macro BOOST_LOCAL_BLOCK_END">BOOST_LOCAL_BLOCK_END</a></code>. </p>
-</div>
+</span>BOOST_LOCAL_BLOCK(...)</pre></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK_END.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK_END.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK_END.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -33,9 +33,9 @@
 
 </span>BOOST_LOCAL_BLOCK_END</pre></div>
 <div class="refsect1">
-<a name="id888276"></a><h2>Description</h2>
-<p>This macro must follow the local block body code <code class="computeroutput">{ ... }</code> as shown in the <code class="computeroutput"><a class="link" href="BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">BOOST_LOCAL_BLOCK</a></code> documentation.</p>
-<p><span class="bold"><strong>See:</strong></span> <code class="computeroutput"><a class="link" href="BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">BOOST_LOCAL_BLOCK</a></code>, <a class="link" href="boost_local/Tutorial.html" title="Tutorial">Tutorial</a> section. </p>
+<a name="id888282"></a><h2>Description</h2>
+<p>This macro must follow the local block body code <code class="computeroutput">{ ... }</code> as shown in the <code class="computeroutput">CONTRACT_DETAIL_LOCAL_BLOCK</code> documentation.</p>
+<p><span class="bold"><strong>See:</strong></span> <code class="computeroutput">CONTRACT_DETAIL_LOCAL_BLOCK</code>, <a class="link" href="boost_local/Tutorial.html" title="Tutorial">Tutorial</a> section. </p>
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK_TPL.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK_TPL.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_LOCAL_BLOCK_TPL.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -26,16 +26,12 @@
 <a name="BOOST_LOCAL_BLOCK_TPL"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_LOCAL_BLOCK_TPL</span></h2>
-<p>BOOST_LOCAL_BLOCK_TPL &#8212; This macro is the same as <code class="computeroutput"><a class="link" href="BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">BOOST_LOCAL_BLOCK</a></code> but it must be used when declaring local blocks within templates. </p>
+<p>BOOST_LOCAL_BLOCK_TPL</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="reference.html#header.boost.local.block_hpp" title="Header &lt;boost/local/block.hpp&gt;">boost/local/block.hpp</a>&gt;
 
-</span>BOOST_LOCAL_BLOCK_TPL(parenthesized_binding)</pre></div>
-<div class="refsect1">
-<a name="id888202"></a><h2>Description</h2>
-<p><span class="bold"><strong>See:</strong></span> <code class="computeroutput"><a class="link" href="BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">BOOST_LOCAL_BLOCK</a></code>, <a class="link" href="boost_local/Tutorial.html" title="Tutorial">Tutorial</a> section. </p>
-</div>
+</span>BOOST_LOCAL_BLOCK_TPL(...)</pre></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: sandbox/local/libs/local/doc/html/BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="index.html" title="Boost.Local 0.1.1">
 <link rel="up" href="reference.html#header.boost.local.config_hpp" title="Header &lt;boost/local/config.hpp&gt;">
-<link rel="prev" href="reference.html" title="Reference">
+<link rel="prev" href="BOOST_LOCAL_BLOCK_END.html" title="Macro BOOST_LOCAL_BLOCK_END">
 <link rel="next" href="BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html" title="Macro BOOST_LOCAL_CONFIG_THIS_PARAM_NAME">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.config_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="BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="BOOST_LOCAL_BLOCK_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.config_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="BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry">
 <a name="BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX"></a><div class="titlepage"></div>
@@ -33,7 +33,7 @@
 
 </span>BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX</pre></div>
 <div class="refsect1">
-<a name="id888173"></a><h2>Description</h2>
+<a name="id888414"></a><h2>Description</h2>
 <p><span class="bold"><strong>Note:</strong></span> If programmers leave this macro undefined, its default value is <code class="computeroutput">5</code>.</p>
 <p>This only refers to the number of local function parameters and not to the number of bound variables in scope (the limit on the number of bound variables is instead the maximum size allowed for a Boost.Preprocessor sequences).</p>
 <p><span class="bold"><strong>Warning:</strong></span> Increasing this number will increase compilation time.</p>
@@ -50,7 +50,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="reference.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.config_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="BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="BOOST_LOCAL_BLOCK_END.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.config_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="BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/local/libs/local/doc/html/BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="Boost.Local 0.1.1">
 <link rel="up" href="reference.html#header.boost.local.config_hpp" title="Header &lt;boost/local/config.hpp&gt;">
 <link rel="prev" href="BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html" title="Macro BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX">
-<link rel="next" href="boost/local/function.html" title="Struct template function">
+<link rel="next" href="BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.config_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="boost/local/function.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.config_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="BOOST_LOCAL_EXIT.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry">
 <a name="BOOST_LOCAL_CONFIG_THIS_PARAM_NAME"></a><div class="titlepage"></div>
@@ -33,7 +33,7 @@
 
 </span>BOOST_LOCAL_CONFIG_THIS_PARAM_NAME</pre></div>
 <div class="refsect1">
-<a name="id888272"></a><h2>Description</h2>
+<a name="id888513"></a><h2>Description</h2>
 <p><span class="bold"><strong>Note:</strong></span> If programmers leave this macro undefined, the default symbol used is <code class="computeroutput">this_</code>.</p>
 <p><span class="bold"><strong>Warning:</strong></span> Programmers should not define this macro unless it is absolutely necessary (e.g., to avoid name clashes with another library which cannot be changed). Changing the symbol <code class="computeroutput">this_</code> effectively changes the public API of this library.</p>
 <p><span class="bold"><strong>See:</strong></span> <a class="link" href="boost_local/Starting.html" title="Starting">Starting</a> section. </p>
@@ -49,7 +49,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.config_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="boost/local/function.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.config_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="BOOST_LOCAL_EXIT.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -26,45 +26,12 @@
 <a name="BOOST_LOCAL_EXIT"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_LOCAL_EXIT</span></h2>
-<p>BOOST_LOCAL_EXIT &#8212; This macro starts the declaration of a local exit. </p>
+<p>BOOST_LOCAL_EXIT</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="reference.html#header.boost.local.exit_hpp" title="Header &lt;boost/local/exit.hpp&gt;">boost/local/exit.hpp</a>&gt;
 
-</span>BOOST_LOCAL_EXIT(parenthesized_binding)</pre></div>
-<div class="refsect1">
-<a name="id888664"></a><h2>Description</h2>
-<p>This macro must be used within a declarative context, it must be followed by the local exit body code <code class="computeroutput">{ ... }</code> and then by the <code class="computeroutput"><a class="link" href="BOOST_LOCAL_EXIT_END.html" title="Macro BOOST_LOCAL_EXIT_END">BOOST_LOCAL_EXIT_END</a></code> macro (see the <a class="link" href="boost_local/Tutorial.html" title="Tutorial">Tutorial</a> section): </p>
-<pre class="programlisting"> <span class="special">{</span> <span class="comment">// Some declarative context.</span>
- <span class="special">...</span>
-
- <span class="identifier">BOOST_LOCAL_EXIT</span><span class="special">(</span>
- <span class="identifier">parenthesized_binding</span>
- <span class="special">)</span> <span class="identifier">exception_specifications_optional</span> <span class="special">{</span>
- <span class="special">...</span> <span class="comment">// Block body.</span>
- <span class="special">}</span> <span class="identifier">BOOST_LOCAL_EXIT_END</span>
-
- <span class="special">...</span>
- <span class="special">}</span>
-</pre>
-<p>Within templates, the special macro <code class="computeroutput"><a class="link" href="BOOST_LOCAL_EXIT_TPL.html" title="Macro BOOST_LOCAL_EXIT_TPL">BOOST_LOCAL_EXIT_TPL</a></code> must be used instead of <code class="computeroutput"><a class="link" href="BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">BOOST_LOCAL_EXIT</a></code>.</p>
-<p><span class="bold"><strong>Note:</strong></span> A <code class="computeroutput">return;</code> instruction from within a local exit body jumps to the end of the local exit body and it does not return the enclosing scope.</p>
-<p><span class="bold"><strong>Parameters:</strong></span> </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<tbody><tr>
-<td><span class="bold"><strong><code class="computeroutput">parenthesized_binding</code></strong></span></td>
-<td>A Boost.Preprocessor sequence that uses the parenthesized syntax to specify the variables in scope to bind (see the <a class="link" href="boost_local/Grammar.html" title="Appendix: Grammar">Grammar</a> section). </td>
-</tr></tbody>
-</table></div>
-<p>
-</p>
-<p>As usual, exception specifications can be optionally programmed before the body code block (see the <a class="link" href="boost_local/Advanced.html" title="Advanced">Advanced</a> section).</p>
-<p><span class="bold"><strong>See:</strong></span> <a class="link" href="boost_local/Tutorial.html" title="Tutorial">Tutorial</a> section, <a class="link" href="boost_local/Advanced.html" title="Advanced">Advanced</a> section, <a class="link" href="boost_local/Grammar.html" title="Appendix: Grammar">Grammar</a> section, <code class="computeroutput"><a class="link" href="BOOST_LOCAL_EXIT_TPL.html" title="Macro BOOST_LOCAL_EXIT_TPL">BOOST_LOCAL_EXIT_TPL</a></code>, <code class="computeroutput"><a class="link" href="BOOST_LOCAL_EXIT_END.html" title="Macro BOOST_LOCAL_EXIT_END">BOOST_LOCAL_EXIT_END</a></code>. </p>
-</div>
+</span>BOOST_LOCAL_EXIT(...)</pre></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT_END.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT_END.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT_END.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="Boost.Local 0.1.1">
 <link rel="up" href="reference.html#header.boost.local.exit_hpp" title="Header &lt;boost/local/exit.hpp&gt;">
 <link rel="prev" href="BOOST_LOCAL_EXIT_TPL.html" title="Macro BOOST_LOCAL_EXIT_TPL">
-<link rel="next" href="BOOST_LOCAL_FUNCTION.html" title="Macro BOOST_LOCAL_FUNCTION">
+<link rel="next" href="boost/local/function.html" title="Struct template function">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="BOOST_LOCAL_EXIT_TPL.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.exit_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="BOOST_LOCAL_FUNCTION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="BOOST_LOCAL_EXIT_TPL.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.exit_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="boost/local/function.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry">
 <a name="BOOST_LOCAL_EXIT_END"></a><div class="titlepage"></div>
@@ -33,9 +33,9 @@
 
 </span>BOOST_LOCAL_EXIT_END</pre></div>
 <div class="refsect1">
-<a name="id889081"></a><h2>Description</h2>
-<p>This macro must follow the local exit body code <code class="computeroutput">{ ... }</code> as shown in the <code class="computeroutput"><a class="link" href="BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">BOOST_LOCAL_EXIT</a></code> documentation.</p>
-<p><span class="bold"><strong>See:</strong></span> <code class="computeroutput"><a class="link" href="BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">BOOST_LOCAL_EXIT</a></code>, <a class="link" href="boost_local/Tutorial.html" title="Tutorial">Tutorial</a> section. </p>
+<a name="id888737"></a><h2>Description</h2>
+<p>This macro must follow the local exit body code <code class="computeroutput">{ ... }</code> as shown in the <code class="computeroutput">CONTRACT_DETAIL_LOCAL_EXIT</code> documentation.</p>
+<p><span class="bold"><strong>See:</strong></span> <code class="computeroutput">CONTRACT_DETAIL_LOCAL_EXIT</code>, <a class="link" href="boost_local/Tutorial.html" title="Tutorial">Tutorial</a> section. </p>
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -48,7 +48,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="BOOST_LOCAL_EXIT_TPL.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.exit_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="BOOST_LOCAL_FUNCTION.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="BOOST_LOCAL_EXIT_TPL.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="reference.html#header.boost.local.exit_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="boost/local/function.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT_TPL.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT_TPL.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_LOCAL_EXIT_TPL.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -26,16 +26,12 @@
 <a name="BOOST_LOCAL_EXIT_TPL"></a><div class="titlepage"></div>
 <div class="refnamediv">
 <h2><span class="refentrytitle">Macro BOOST_LOCAL_EXIT_TPL</span></h2>
-<p>BOOST_LOCAL_EXIT_TPL &#8212; This macro is the same as <code class="computeroutput"><a class="link" href="BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">BOOST_LOCAL_EXIT</a></code> but it must used when declaring local exits within templates. </p>
+<p>BOOST_LOCAL_EXIT_TPL</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="reference.html#header.boost.local.exit_hpp" title="Header &lt;boost/local/exit.hpp&gt;">boost/local/exit.hpp</a>&gt;
 
-</span>BOOST_LOCAL_EXIT_TPL(parenthesized_binding)</pre></div>
-<div class="refsect1">
-<a name="id889007"></a><h2>Description</h2>
-<p><span class="bold"><strong>See:</strong></span> <code class="computeroutput"><a class="link" href="BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">BOOST_LOCAL_EXIT</a></code>, <a class="link" href="boost_local/Tutorial.html" title="Tutorial">Tutorial</a> section. </p>
-</div>
+</span>BOOST_LOCAL_EXIT_TPL(binding_list)</pre></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: sandbox/local/libs/local/doc/html/BOOST_LOCAL_FUNCTION_NAME.html
==============================================================================
--- sandbox/local/libs/local/doc/html/BOOST_LOCAL_FUNCTION_NAME.html (original)
+++ sandbox/local/libs/local/doc/html/BOOST_LOCAL_FUNCTION_NAME.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -31,7 +31,7 @@
 <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="reference.html#header.boost.local.function_hpp" title="Header &lt;boost/local/function.hpp&gt;">boost/local/function.hpp</a>&gt;
 
-</span>BOOST_LOCAL_FUNCTION_NAME(name)</pre></div>
+</span>BOOST_LOCAL_FUNCTION_NAME(local_function_name)</pre></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: sandbox/local/libs/local/doc/html/boost/local/function.html
==============================================================================
--- sandbox/local/libs/local/doc/html/boost/local/function.html (original)
+++ sandbox/local/libs/local/doc/html/boost/local/function.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Boost.Local 0.1.1">
 <link rel="up" href="../../reference.html#header.boost.local.function_hpp" title="Header &lt;boost/local/function.hpp&gt;">
-<link rel="prev" href="../../BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html" title="Macro BOOST_LOCAL_CONFIG_THIS_PARAM_NAME">
+<link rel="prev" href="../../BOOST_LOCAL_EXIT_END.html" title="Macro BOOST_LOCAL_EXIT_END">
 <link rel="next" href="../../BOOST_LOCAL_FUNCTION_PARAMS.html" title="Macro BOOST_LOCAL_FUNCTION_PARAMS">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../../BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.local.function_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="../../BOOST_LOCAL_FUNCTION_PARAMS.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../../BOOST_LOCAL_EXIT_END.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.local.function_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="../../BOOST_LOCAL_FUNCTION_PARAMS.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="refentry">
 <a name="boost.local.function"></a><div class="titlepage"></div>
@@ -35,7 +35,7 @@
 <span class="keyword">struct</span> <a class="link" href="function.html" title="Struct template function">function</a> <span class="special">{</span>
 <span class="special">}</span><span class="special">;</span></pre></div>
 <div class="refsect1">
-<a name="id888622"></a><h2>Description</h2>
+<a name="id889078"></a><h2>Description</h2>
 <p>This template defines several specializations to handle a generic number <code class="computeroutput">N</code> of function parameters some of which can have default values. The number of supported function parameters goes from <code class="computeroutput">0</code> (for a function with no parameter) to a maximum of <code class="computeroutput"><a class="link" href="../../BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html" title="Macro BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX">BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX</a></code>.</p>
 <p>Each template specialization defines call operators <code class="computeroutput">operator()(...)</code> with a different set of parameters to handle the number of default parameters specified by <code class="computeroutput">defaults</code> (see <a class="link" href="../../boost_local/Advanced.html" title="Advanced">Advanced</a> section): </p>
 <pre class="programlisting"> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Result</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg1</span><span class="special">,</span> <span class="special">...</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">ArgN</span><span class="special">,</span> <span class="identifier">size_t</span> <span class="identifier">defaults</span> <span class="special">=</span> <span class="number">0</span><span class="special">&gt;</span>
@@ -96,7 +96,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../../BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.local.function_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="../../BOOST_LOCAL_FUNCTION_PARAMS.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="../../BOOST_LOCAL_EXIT_END.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../reference.html#header.boost.local.function_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="../../BOOST_LOCAL_FUNCTION_PARAMS.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/local/libs/local/doc/html/boost_local/Advanced.html
==============================================================================
--- sandbox/local/libs/local/doc/html/boost_local/Advanced.html (original)
+++ sandbox/local/libs/local/doc/html/boost_local/Advanced.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -194,7 +194,7 @@
 </span> <span class="special">)</span>
 </pre>
 <p>
- Consider the following complete example: <sup>[<a name="id876719" href="#ftn.id876719" class="footnote">15</a>]</sup>
+ Consider the following complete example: <sup>[<a name="id876783" href="#ftn.id876783" class="footnote">15</a>]</sup>
       </p>
 <p>
         
@@ -318,26 +318,24 @@
     <span class="keyword">double</span> <span class="identifier">sum</span> <span class="special">=</span> <span class="number">0.0</span><span class="special">;</span>
     <span class="keyword">int</span> <span class="identifier">factor</span> <span class="special">=</span> <span class="number">10</span><span class="special">;</span>
 
- <span class="identifier">BOOST_LOCAL_FUNCTION</span><span class="special">(</span>
- <span class="special">(</span><span class="keyword">void</span><span class="special">)</span> <span class="special">(</span><span class="identifier">add</span><span class="special">)(</span> <span class="special">(</span><span class="keyword">double</span><span class="special">)(</span><span class="identifier">num</span><span class="special">)</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span><span class="special">)((</span><span class="identifier">factor</span><span class="special">))</span> <span class="special">(</span><span class="identifier">bind</span><span class="special">)((&amp;</span><span class="identifier">sum</span><span class="special">))</span> <span class="special">)</span>
- <span class="special">)</span> <span class="keyword">throw</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">runtime_error</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span><span class="special">)</span> <span class="special">{</span> <span class="comment">// Throw two exceptions.
+ <span class="keyword">void</span> <span class="identifier">BOOST_LOCAL_FUNCTION_PARAMS</span><span class="special">(</span> <span class="special">(</span><span class="keyword">double</span> <span class="identifier">num</span><span class="special">)</span>
+ <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span> <span class="identifier">factor</span><span class="special">)</span> <span class="special">(</span><span class="identifier">bind</span><span class="special">&amp;</span> <span class="identifier">sum</span><span class="special">)</span> <span class="special">)</span>
+ <span class="keyword">throw</span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">runtime_error</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span><span class="special">)</span> <span class="special">{</span> <span class="comment">// Throw two except.
 </span> <span class="identifier">sum</span> <span class="special">+=</span> <span class="identifier">factor</span> <span class="special">*</span> <span class="identifier">num</span><span class="special">;</span>
- <span class="special">}</span> <span class="identifier">BOOST_LOCAL_FUNCTION_END</span><span class="special">(</span><span class="identifier">add</span><span class="special">)</span>
+ <span class="special">}</span> <span class="identifier">BOOST_LOCAL_FUNCTION_NAME</span><span class="special">(</span><span class="identifier">add</span><span class="special">)</span>
     <span class="identifier">add</span><span class="special">(</span><span class="number">100.0</span><span class="special">);</span>
 
     <span class="identifier">size_t</span> <span class="identifier">size</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
     <span class="keyword">double</span><span class="special">*</span> <span class="identifier">nums</span> <span class="special">=</span> <span class="keyword">new</span> <span class="keyword">double</span><span class="special">[</span><span class="identifier">size</span><span class="special">];</span>
- <span class="comment">// Throw nothing.
-</span> <span class="identifier">BOOST_LOCAL_EXIT</span><span class="special">(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span><span class="special">)((&amp;</span><span class="identifier">size</span><span class="special">))</span> <span class="special">(</span><span class="identifier">bind</span><span class="special">)((</span><span class="identifier">nums</span><span class="special">))</span> <span class="special">)</span> <span class="keyword">throw</span><span class="special">()</span> <span class="special">{</span>
- <span class="keyword">if</span> <span class="special">(</span><span class="identifier">size</span> <span class="special">&amp;&amp;</span> <span class="identifier">nums</span><span class="special">)</span> <span class="keyword">delete</span><span class="special">[]</span> <span class="identifier">nums</span><span class="special">;</span>
+ <span class="identifier">BOOST_LOCAL_EXIT</span><span class="special">(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span><span class="special">&amp;</span> <span class="identifier">size</span><span class="special">)</span> <span class="special">(</span><span class="identifier">bind</span> <span class="identifier">nums</span><span class="special">)</span> <span class="special">)</span> <span class="keyword">throw</span><span class="special">()</span> <span class="special">{</span> <span class="comment">// Throw none.
+</span> <span class="keyword">if</span> <span class="special">(</span><span class="identifier">size</span> <span class="special">&amp;&amp;</span> <span class="identifier">nums</span><span class="special">)</span> <span class="keyword">delete</span><span class="special">[]</span> <span class="identifier">nums</span><span class="special">;</span>
     <span class="special">}</span> <span class="identifier">BOOST_LOCAL_EXIT_END</span>
 
     <span class="identifier">nums</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="special">=</span> <span class="number">90.5</span><span class="special">;</span> <span class="identifier">nums</span><span class="special">[</span><span class="number">1</span><span class="special">]</span> <span class="special">=</span> <span class="number">7.0</span><span class="special">;</span>
     <span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">nums</span><span class="special">,</span> <span class="identifier">nums</span> <span class="special">+</span> <span class="identifier">size</span><span class="special">,</span> <span class="identifier">add</span><span class="special">);</span>
 
- <span class="comment">// Throw one exception.
-</span> <span class="identifier">BOOST_LOCAL_BLOCK</span><span class="special">(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span><span class="special">)((&amp;</span><span class="identifier">sum</span><span class="special">))</span> <span class="special">)</span> <span class="keyword">throw</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">)</span> <span class="special">{</span>
- <span class="identifier">assert</span><span class="special">(</span><span class="identifier">sum</span> <span class="special">==</span> <span class="number">1975.0</span><span class="special">);</span>
+ <span class="identifier">BOOST_LOCAL_BLOCK</span><span class="special">(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span><span class="special">&amp;</span> <span class="identifier">sum</span><span class="special">)</span> <span class="special">)</span> <span class="keyword">throw</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">exception</span><span class="special">)</span> <span class="special">{</span> <span class="comment">// Thow one.
+</span> <span class="identifier">assert</span><span class="special">(</span><span class="identifier">sum</span> <span class="special">==</span> <span class="number">1975.0</span><span class="special">);</span>
     <span class="special">}</span> <span class="identifier">BOOST_LOCAL_BLOCK_END</span>
 
     <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
@@ -411,7 +409,7 @@
           Local functions are never copied by value. You can only obtain a reference
           to a local function therefore you need to make sure that the <span class="bold"><strong>local function survives the scope of its reference</strong></span>
           otherwise the reference will be invalid and its use will generate a run-time
- error (as usual with C++ references). <sup>[<a name="id881035" href="#ftn.id881035" class="footnote">16</a>]</sup>
+ error (as usual with C++ references). <sup>[<a name="id881059" href="#ftn.id881059" class="footnote">16</a>]</sup>
         </p></td></tr>
 </table></div>
 <p>
@@ -530,7 +528,7 @@
         Where the <span class="emphasis"><em>new-local-function-name</em></span> no longer has to match
         the local function name as originally specified in the parenthesized signature
         passed to <code class="computeroutput">BOOST_LOCAL_FUNCTION</code>.
- For example: <sup>[<a name="id883549" href="#ftn.id883549" class="footnote">17</a>]</sup>
+ For example: <sup>[<a name="id883574" href="#ftn.id883574" class="footnote">17</a>]</sup>
       </p>
 <pre class="programlisting"><span class="special">{</span>
     <code class="computeroutput">BOOST_LOCAL_FUNCTION</code><span class="special">(</span>
@@ -587,7 +585,7 @@
 <p>
       </p>
 <a name="boost_local.Advanced.renaming_local_functions.motivation"></a><h6>
-<a name="id884469"></a>
+<a name="id884494"></a>
         <a class="link" href="Advanced.html#boost_local.Advanced.renaming_local_functions.motivation">Motivation</a>
       </h6>
 <p>
@@ -654,14 +652,14 @@
         to usual features of C++ functions.
       </p>
 <a name="boost_local.Advanced.limitations__overloading__nesting__operators__etc.overloading"></a><h6>
-<a name="id885459"></a>
+<a name="id885485"></a>
         <a class="link" href="Advanced.html#boost_local.Advanced.limitations__overloading__nesting__operators__etc.overloading">Overloading</a>
       </h6>
 <p>
         It is not possible to overload local functions. Declaring multiple local
         functions with the same name within the same enclosing scope generates a
         compile-time error (even if the different declarations specify different
- parameters). <sup>[<a name="id885479" href="#ftn.id885479" class="footnote">18</a>]</sup>
+ parameters). <sup>[<a name="id885504" href="#ftn.id885504" class="footnote">18</a>]</sup>
       </p>
 <p>
         For example, the following code will <span class="bold"><strong>not</strong></span>
@@ -684,12 +682,12 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_local.Advanced.limitations__overloading__nesting__operators__etc.nesting"></a><h6>
-<a name="id885921"></a>
+<a name="id885946"></a>
         <a class="link" href="Advanced.html#boost_local.Advanced.limitations__overloading__nesting__operators__etc.nesting">Nesting</a>
       </h6>
 <p>
         It is not possible to nest local functions, local blocks, or local exits
- within each other. Nesting will generate a compile-time error. <sup>[<a name="id885943" href="#ftn.id885943" class="footnote">19</a>]</sup>
+ within each other. Nesting will generate a compile-time error. <sup>[<a name="id885968" href="#ftn.id885968" class="footnote">19</a>]</sup>
       </p>
 <p>
         For example, the following code will <span class="bold"><strong>not</strong></span>
@@ -712,12 +710,12 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_local.Advanced.limitations__overloading__nesting__operators__etc.operators"></a><h6>
-<a name="id886343"></a>
+<a name="id886368"></a>
         <a class="link" href="Advanced.html#boost_local.Advanced.limitations__overloading__nesting__operators__etc.operators">Operators</a>
       </h6>
 <p>
         Local functions cannot be operators. Naming a local function <code class="computeroutput"><span class="keyword">operator</span><span class="special">...</span></code>
- will generate a compile-time error. <sup>[<a name="id886380" href="#ftn.id886380" class="footnote">20</a>]</sup>
+ will generate a compile-time error. <sup>[<a name="id886406" href="#ftn.id886406" class="footnote">20</a>]</sup>
       </p>
 <p>
         For example, the following code will <span class="bold"><strong>not</strong></span>
@@ -739,7 +737,7 @@
 <span class="special">}</span>
 </pre>
 <a name="boost_local.Advanced.limitations__overloading__nesting__operators__etc.etc"></a><h6>
-<a name="id886775"></a>
+<a name="id886800"></a>
         <a class="link" href="Advanced.html#boost_local.Advanced.limitations__overloading__nesting__operators__etc.etc">Etc</a>
       </h6>
 <p>
@@ -1044,39 +1042,39 @@
 </div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a id="ftn.id876719" href="#id876719" class="para">15</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id876783" href="#id876783" class="para">15</a>] </sup>
           We recognize that the use of the <span class="emphasis"><em>identity macros</em></span> adds
           extra parenthesis to the already significant number of parenthesis required
           by the parenthesized syntax. However, parenthesized signatures usually
           do not contain unwrapped commas "<code class="computeroutput"><span class="special">,</span></code>"
           (unless template metaprogramming is being used).
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id881035" href="#id881035" class="para">16</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id881059" href="#id881059" class="para">16</a>] </sup>
             The suffix <code class="computeroutput"><span class="identifier">ref</span></code> of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">local</span><span class="special">::</span>function_ref</code> is meant
             to help programmers remember that they are dealing with references to
             (and not copies of) local functions.
           </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id883549" href="#id883549" class="para">17</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id883574" href="#id883574" class="para">17</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> Local functions are often named
           <code class="computeroutput"><span class="identifier">l</span></code> in the casual examples
           of this documentation because the name of the author starts with the letter
           "<code class="computeroutput"><span class="identifier">l</span></code>". <span class="inlinemediaobject"><img src="../../images/smiley.png" alt="smiley"></span>
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id885479" href="#id885479" class="para">18</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id885504" href="#id885504" class="para">18</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> This is because a local function
           is a functor object declared as a local variable within the enclosing scope.
           Therefore, declaring two local functions with the same name within the
           same enclosing scope declares two local variables with the same name within
           the same scope and that is not allowed in C++.
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id885943" href="#id885943" class="para">19</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id885968" href="#id885968" class="para">19</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> This is because within a nested
           code block only global or static variables can be accessed while Boost.ScopeExit
           variable <a href="http://lists.boost.org/Archives/boost/2006/11/113658.php" target="_top">binding
           mechanism</a> requires to access local variables that hold the bound
           variables.
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id886380" href="#id886380" class="para">20</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id886406" href="#id886406" class="para">20</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> This is the because a local
           function name must be a valid local variable name (the local variable to
           hold the local functor object) and operators cannot be used as local variable

Modified: sandbox/local/libs/local/doc/html/boost_local/Grammar.html
==============================================================================
--- sandbox/local/libs/local/doc/html/boost_local/Grammar.html (original)
+++ sandbox/local/libs/local/doc/html/boost_local/Grammar.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -71,8 +71,8 @@
       section):
     </p>
 <pre class="programlisting"><code class="computeroutput">BOOST_LOCAL_FUNCTION</code><span class="special">(</span> <span class="emphasis"><em>parenthesized-signature</em></span> <span class="special">)</span>
-<code class="computeroutput">BOOST_LOCAL_BLOCK</code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span>
-<code class="computeroutput">BOOST_LOCAL_EXIT</code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span>
+<code class="computeroutput"><a class="link" href="../BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">BOOST_LOCAL_BLOCK</a></code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span>
+<code class="computeroutput"><a class="link" href="../BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">BOOST_LOCAL_EXIT</a></code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span>
 </pre>
 <p>
       Additional "keywords":
@@ -132,7 +132,7 @@
         <span class="special">(</span><span class="keyword">default</span><span class="special">)(</span><span class="bold"><strong>parameter-default</strong></span><span class="special">)</span> <span class="comment">// Default value for this optional parameter.
 </span></pre>
 <p>
- Binding variables in scope: <sup>[<a name="id890813" href="#ftn.id890813" class="footnote">21</a>]</sup> <sup>[<a name="id891118" href="#ftn.id891118" class="footnote">22</a>]</sup>
+ Binding variables in scope: <sup>[<a name="id891280" href="#ftn.id891280" class="footnote">21</a>]</sup> <sup>[<a name="id891585" href="#ftn.id891585" class="footnote">22</a>]</sup>
     </p>
 <pre class="programlisting"><span class="emphasis"><em>bindings:</em></span>
           <span class="emphasis"><em>const-bindings</em></span> <span class="comment">// Only constant binding.
@@ -151,7 +151,7 @@
 </span></pre>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a id="ftn.id890813" href="#id890813" class="para">21</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id891280" href="#id891280" class="para">21</a>] </sup>
         <span class="bold"><strong>Rationale.</strong></span> The alternative syntax <code class="computeroutput"><span class="special">(</span><span class="identifier">bind</span><span class="special">)((</span><span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">)...)</span></code>
         would have been preferred because <code class="computeroutput"><span class="keyword">const</span></code>
         appears before the reference as usual in C++ and because a single <code class="computeroutput"><span class="identifier">bind</span></code> sequence is used for both plain and
@@ -172,7 +172,7 @@
         symbol <code class="computeroutput"><span class="special">&amp;</span></code> never appears in
         the back).
       </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id891118" href="#id891118" class="para">22</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id891585" href="#id891585" class="para">22</a>] </sup>
         <span class="bold"><strong>Rationale.</strong></span> Binding is used within the function
         parameter list because this syntax seemed natural given that the bound variables
         are used by the function body as if they were function parameters (only their

Modified: sandbox/local/libs/local/doc/html/boost_local/Rationale.html
==============================================================================
--- sandbox/local/libs/local/doc/html/boost_local/Rationale.html (original)
+++ sandbox/local/libs/local/doc/html/boost_local/Rationale.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -1018,7 +1018,7 @@
               Default parameter values are not part of the type so it is not possible
               to program a metafunction that counts the number of default parameter
               values at compile-time but such information is also needed by the local
- functions in order to properly support default parameters. <sup>[<a name="id899064" href="#ftn.id899064" class="footnote">23</a>]</sup>
+ functions in order to properly support default parameters. <sup>[<a name="id899668" href="#ftn.id899668" class="footnote">23</a>]</sup>
             </li>
 </ol></div>
 <p>
@@ -1037,7 +1037,7 @@
           Note that the <code class="computeroutput"><span class="special">=</span></code> symbol needs
           to be replaced with the alphanumeric keyword <code class="computeroutput"><span class="keyword">default</span></code>
           because parenthesized syntax elements cannot start with a non alphanumeric
- symbol like <code class="computeroutput"><span class="special">=</span></code>. <sup>[<a name="id899464" href="#ftn.id899464" class="footnote">24</a>]</sup>
+ symbol like <code class="computeroutput"><span class="special">=</span></code>. <sup>[<a name="id900067" href="#ftn.id900067" class="footnote">24</a>]</sup>
         </p>
 <p>
           For C99, some or all the parenthesis can be replaced by commas.
@@ -1215,7 +1215,7 @@
 </div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a id="ftn.id899064" href="#id899064" class="para">23</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id899668" href="#id899668" class="para">23</a>] </sup>
                 Specifically, the number of default parameter value is needed at
                 compile-time to instantiate the proper <code class="computeroutput"><span class="identifier">function_ref</span><span class="special">&lt;</span><span class="keyword">typename</span>
                 <span class="identifier">F</span><span class="special">,</span>
@@ -1224,7 +1224,7 @@
                 functor is needed to implement the trick that allows local functions
                 to be passed as template parameters (see http://lists.boost.org/Archives/boost/2010/09/170888.php).
               </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id899464" href="#id899464" class="para">24</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id900067" href="#id900067" class="para">24</a>] </sup>
             This is because the parenthesized syntax needs to check if its token
             matches a keyword like <code class="computeroutput"><span class="keyword">void</span></code>,
             <code class="computeroutput"><span class="keyword">inline</span></code>, etc. This checking

Modified: sandbox/local/libs/local/doc/html/boost_local/Starting.html
==============================================================================
--- sandbox/local/libs/local/doc/html/boost_local/Starting.html (original)
+++ sandbox/local/libs/local/doc/html/boost_local/Starting.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -175,8 +175,8 @@
         The header files of this library are divided as follow:
       </p>
 <pre class="programlisting"><code class="computeroutput"><a class="link" href="../reference.html#header.boost.local.function_hpp" title="Header &lt;boost/local/function.hpp&gt;">boost/local/function.hpp</a></code> <span class="emphasis"><em>local functions</em></span>
-<code class="computeroutput">boost/local/block.hpp</code> <span class="emphasis"><em>local blocks</em></span>
-<code class="computeroutput">boost/local/exit.hpp</code> <span class="emphasis"><em>local exits</em></span>
+<code class="computeroutput"><a class="link" href="../reference.html#header.boost.local.block_hpp" title="Header &lt;boost/local/block.hpp&gt;">boost/local/block.hpp</a></code> <span class="emphasis"><em>local blocks</em></span>
+<code class="computeroutput"><a class="link" href="../reference.html#header.boost.local.exit_hpp" title="Header &lt;boost/local/exit.hpp&gt;">boost/local/exit.hpp</a></code> <span class="emphasis"><em>local exits</em></span>
 <code class="computeroutput">boost/local/function_ref.hpp</code> <span class="emphasis"><em>references to local functions</em></span>
 </pre>
 </div>
@@ -186,7 +186,7 @@
 </h3></div></div></div>
 <p>
         The following symbols are part of the library private API, they are not documented,
- and they should not be directly used by programmers: <sup>[<a name="id865071" href="#ftn.id865071" class="footnote">1</a>]</sup>
+ and they should not be directly used by programmers: <sup>[<a name="id865081" href="#ftn.id865081" class="footnote">1</a>]</sup>
       </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
@@ -226,7 +226,7 @@
 </div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a id="ftn.id865071" href="#id865071" class="para">1</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id865081" href="#id865081" class="para">1</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> This library concatenates symbols
           specified by the programmers (e.g., the local function name) with other
           symbols (e.g., special prefixes or preprocessor line numbers) to make internal

Modified: sandbox/local/libs/local/doc/html/boost_local/Tutorial.html
==============================================================================
--- sandbox/local/libs/local/doc/html/boost_local/Tutorial.html (original)
+++ sandbox/local/libs/local/doc/html/boost_local/Tutorial.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -67,17 +67,17 @@
           are:
         </p>
 <p>
- 1. Wrap all the signature syntactic elements within parenthesis <code class="computeroutput"><span class="special">()</span></code>. <sup>[<a name="id865394" href="#ftn.id865394" class="footnote">2</a>]</sup>
+ 1. Wrap all the signature syntactic elements within parenthesis <code class="computeroutput"><span class="special">()</span></code>. <sup>[<a name="id865404" href="#ftn.id865404" class="footnote">2</a>]</sup>
         </p>
 <p>
           2. If a token does not start with an alphanumeric symbol (i.e., <code class="computeroutput"><span class="identifier">a</span><span class="special">-</span><span class="identifier">z</span></code>,
           <code class="computeroutput"><span class="identifier">A</span><span class="special">-</span><span class="identifier">Z</span></code>, or <code class="computeroutput"><span class="number">0</span><span class="special">-</span><span class="number">9</span></code>), replace
           the token with its alphanumeric equivalent (as indicated in the <a class="link" href="Grammar.html" title="Appendix: Grammar">Grammar</a>
- section). <sup>[<a name="id865521" href="#ftn.id865521" class="footnote">3</a>]</sup>
+ section). <sup>[<a name="id865531" href="#ftn.id865531" class="footnote">3</a>]</sup>
         </p>
 <p>
           3. Empty parenthesis <code class="computeroutput"><span class="special">()</span></code> are
- not allowed. <sup>[<a name="id865557" href="#ftn.id865557" class="footnote">4</a>]</sup>
+ not allowed. <sup>[<a name="id865568" href="#ftn.id865568" class="footnote">4</a>]</sup>
         </p>
 <p>
           4. Spaces and newlines do not matter and they can be used anywhere.
@@ -162,11 +162,11 @@
           (see the <a class="link" href="Grammar.html" title="Appendix: Grammar">Grammar</a> section). When
           syntactic errors can be detected by the parsing macros, they are raised
           at compile-time using error messages of the form <code class="computeroutput"><span class="identifier">ERROR_</span></code><span class="emphasis"><em>description_text</em></span>.
- <sup>[<a name="id866504" href="#ftn.id866504" class="footnote">5</a>]</sup>
+ <sup>[<a name="id866513" href="#ftn.id866513" class="footnote">5</a>]</sup>
         </p></td></tr>
 </table></div>
 <a name="boost_local.Tutorial.parenthesized_syntax.functions_with_no_parameters"></a><h6>
-<a name="id866543"></a>
+<a name="id866553"></a>
         <a class="link" href="Tutorial.html#boost_local.Tutorial.parenthesized_syntax.functions_with_no_parameters">Functions
         With No Parameters</a>
       </h6>
@@ -262,12 +262,12 @@
             <span class="special">...</span> <span class="special">}</span></code>
             using the usual C++ syntax. The body is specified outside any of the
             macros so eventual compiler error messages and line numbers retain their
- usual meaning. <sup>[<a name="id867024" href="#ftn.id867024" class="footnote">6</a>]</sup>
+ usual meaning. <sup>[<a name="id867034" href="#ftn.id867034" class="footnote">6</a>]</sup>
           </li>
 <li class="listitem">
             The macro <code class="computeroutput">BOOST_LOCAL_FUNCTION_END</code>
             is used to end the local function definition and it must repeat the local
- function name. <sup>[<a name="id867054" href="#ftn.id867054" class="footnote">7</a>]</sup> The compiler will generate an error if the name specified
+ function name. <sup>[<a name="id867063" href="#ftn.id867063" class="footnote">7</a>]</sup> The compiler will generate an error if the name specified
             by this macro does not match the one from the local function signature
             (see <code class="computeroutput">BOOST_LOCAL_FUNCTION_END_RENAME</code>
             to remove this constraint).
@@ -330,7 +330,7 @@
         be bound by reference, by constant reference, by value, or by constant value.
         The types of bound variables are automatically deduced by this library using
         <a href="http://www.boost.org/doc/libs/release/doc/html/typeof.html" target="_top">Boost.Typeof</a>.
- <sup>[<a name="id867618" href="#ftn.id867618" class="footnote">8</a>]</sup>
+ <sup>[<a name="id867627" href="#ftn.id867627" class="footnote">8</a>]</sup>
       </p>
 <div class="important"><table border="0" summary="Important">
 <tr>
@@ -429,13 +429,13 @@
 <p>
       </p>
 <a name="boost_local.Tutorial.binding.constant_binding"></a><h6>
-<a name="id868521"></a>
+<a name="id868531"></a>
         <a class="link" href="Tutorial.html#boost_local.Tutorial.binding.constant_binding">Constant Binding</a>
       </h6>
 <p>
         Constant binding allows to bind variables in scope by constant reference
         or constant value (constant binding is not supported by <a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Lambda_functions_and_expressions" target="_top">C++0x
- lambda</a> functions). <sup>[<a name="id868545" href="#ftn.id868545" class="footnote">9</a>]</sup>
+ lambda</a> functions). <sup>[<a name="id868556" href="#ftn.id868556" class="footnote">9</a>]</sup>
       </p>
 <p>
         The parenthesized syntax uses the "keywords" <code class="computeroutput"><span class="keyword">const</span>
@@ -508,7 +508,7 @@
 <p>
       </p>
 <a name="boost_local.Tutorial.binding.binding_the_object__code__phrase_role__keyword__this__phrase___code_"></a><h6>
-<a name="id869810"></a>
+<a name="id869824"></a>
         <a class="link" href="Tutorial.html#boost_local.Tutorial.binding.binding_the_object__code__phrase_role__keyword__this__phrase___code_">Binding
         the Object <code class="computeroutput"><span class="keyword">this</span></code></a>
       </h6>
@@ -557,10 +557,10 @@
           to a local function, the local function <span class="bold"><strong>body must
           use the special symbol</strong></span> <code class="computeroutput"><span class="identifier">this_</span></code>
           (instead of <code class="computeroutput"><span class="keyword">this</span></code>) to access
- the bound object. <sup>[<a name="id870165" href="#ftn.id870165" class="footnote">10</a>]</sup> Using <code class="computeroutput"><span class="keyword">this</span></code> within
+ the bound object. <sup>[<a name="id870178" href="#ftn.id870178" class="footnote">10</a>]</sup> Using <code class="computeroutput"><span class="keyword">this</span></code> within
           the local function body will generate a compile-time error so programmers
           cannot mistakenly confuse the use of <code class="computeroutput"><span class="identifier">this_</span></code>
- with <code class="computeroutput"><span class="keyword">this</span></code>. <sup>[<a name="id870268" href="#ftn.id870268" class="footnote">11</a>]</sup>
+ with <code class="computeroutput"><span class="keyword">this</span></code>. <sup>[<a name="id870281" href="#ftn.id870281" class="footnote">11</a>]</sup>
         </p></td></tr>
 </table></div>
 <p>
@@ -622,9 +622,9 @@
 <pre class="programlisting"><span class="special">{</span> <span class="comment">// Some declarative context.
 </span> <span class="special">...</span>
 
- <code class="computeroutput">BOOST_LOCAL_BLOCK</code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span> <span class="special">{</span>
+ <code class="computeroutput"><a class="link" href="../BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">BOOST_LOCAL_BLOCK</a></code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span> <span class="special">{</span>
         <span class="emphasis"><em>block-body</em></span>
- <span class="special">}</span> <code class="computeroutput">BOOST_LOCAL_BLOCK_END</code>
+ <span class="special">}</span> <code class="computeroutput"><a class="link" href="../BOOST_LOCAL_BLOCK_END.html" title="Macro BOOST_LOCAL_BLOCK_END">BOOST_LOCAL_BLOCK_END</a></code>
 
     <span class="special">...</span>
 <span class="special">}</span>
@@ -671,7 +671,7 @@
           A <code class="computeroutput"><span class="keyword">return</span><span class="special">;</span></code>
           instruction from within a local block jumps to the end of the local block
           body and <span class="bold"><strong>it does not return the enclosing scope</strong></span>.
- <sup>[<a name="id871709" href="#ftn.id871709" class="footnote">12</a>]</sup>
+ <sup>[<a name="id871733" href="#ftn.id871733" class="footnote">12</a>]</sup>
         </p></td></tr>
 </table></div>
 <p>
@@ -688,7 +688,7 @@
 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
     <span class="keyword">double</span> <span class="identifier">sum</span> <span class="special">=</span> <span class="number">1975.0</span><span class="special">;</span>
 
- <span class="identifier">BOOST_LOCAL_BLOCK</span><span class="special">(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span><span class="special">)((&amp;</span><span class="identifier">sum</span><span class="special">))</span> <span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">BOOST_LOCAL_BLOCK</span><span class="special">(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span><span class="special">&amp;</span> <span class="identifier">sum</span><span class="special">)</span> <span class="special">)</span> <span class="special">{</span>
         <span class="identifier">assert</span><span class="special">(</span><span class="identifier">sum</span> <span class="special">==</span> <span class="number">1975.0</span><span class="special">);</span> <span class="comment">// OK: Complier error if `==` confused with `=`.
 </span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">clog</span> <span class="special">&lt;&lt;</span> <span class="string">"Asserted summation: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">sum</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
 
@@ -713,9 +713,9 @@
 <pre class="programlisting"><span class="special">{</span> <span class="comment">// Some declarative context.
 </span> <span class="special">...</span>
 
- <code class="computeroutput">BOOST_LOCAL_EXIT</code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span> <span class="special">{</span>
+ <code class="computeroutput"><a class="link" href="../BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">BOOST_LOCAL_EXIT</a></code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span> <span class="special">{</span>
         <span class="emphasis"><em>exit-body</em></span>
- <span class="special">}</span> <code class="computeroutput">BOOST_LOCAL_EXIT_END</code>
+ <span class="special">}</span> <code class="computeroutput"><a class="link" href="../BOOST_LOCAL_EXIT_END.html" title="Macro BOOST_LOCAL_EXIT_END">BOOST_LOCAL_EXIT_END</a></code>
 
     <span class="special">...</span>
 <span class="special">}</span>
@@ -756,7 +756,7 @@
     <span class="identifier">size_t</span> <span class="identifier">size</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
     <span class="keyword">double</span><span class="special">*</span> <span class="identifier">nums</span> <span class="special">=</span> <span class="keyword">new</span> <span class="keyword">double</span><span class="special">[</span><span class="identifier">size</span><span class="special">];</span>
     
- <span class="identifier">BOOST_LOCAL_EXIT</span><span class="special">(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span><span class="special">)((&amp;</span><span class="identifier">size</span><span class="special">))</span> <span class="special">(</span><span class="identifier">bind</span><span class="special">)((</span><span class="identifier">nums</span><span class="special">))</span> <span class="special">)</span> <span class="special">{</span>
+ <span class="identifier">BOOST_LOCAL_EXIT</span><span class="special">(</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">bind</span><span class="special">&amp;</span> <span class="identifier">size</span><span class="special">)</span> <span class="special">(</span><span class="identifier">bind</span> <span class="identifier">nums</span><span class="special">)</span> <span class="special">)</span> <span class="special">{</span>
         <span class="keyword">if</span> <span class="special">(</span><span class="identifier">size</span> <span class="special">&amp;&amp;</span> <span class="identifier">nums</span><span class="special">)</span> <span class="keyword">delete</span><span class="special">[]</span> <span class="identifier">nums</span><span class="special">;</span>
         <span class="identifier">std</span><span class="special">::</span><span class="identifier">clog</span> <span class="special">&lt;&lt;</span> <span class="string">"Freed array: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">nums</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
 
@@ -772,7 +772,7 @@
 <p>
         Local exits are very similar to the functionality already provided by Boost.ScopeExit
         with the addition that they also support constant binding and the binding
- of the object <code class="computeroutput"><span class="keyword">this</span></code>. <sup>[<a name="id872989" href="#ftn.id872989" class="footnote">13</a>]</sup>
+ of the object <code class="computeroutput"><span class="keyword">this</span></code>. <sup>[<a name="id873021" href="#ftn.id873021" class="footnote">13</a>]</sup>
       </p>
 </div>
 <div class="section">
@@ -783,11 +783,11 @@
         When local functions, local blocks, and local exits are programmed within
         templates, they need to be declared using the following special macros ending
         with the <code class="computeroutput"><span class="identifier">TPL</span></code> postfix (see
- the Reference section): <sup>[<a name="id873317" href="#ftn.id873317" class="footnote">14</a>]</sup>
+ the Reference section): <sup>[<a name="id873362" href="#ftn.id873362" class="footnote">14</a>]</sup>
       </p>
 <pre class="programlisting"><code class="computeroutput">BOOST_LOCAL_FUNCTION_TPL</code><span class="special">(</span> <span class="emphasis"><em>parenthesized-signature</em></span> <span class="special">)</span>
-<code class="computeroutput">BOOST_LOCAL_BLOCK_TPL</code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span>
-<code class="computeroutput">BOOST_LOCAL_EXIT_TPL</code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span>
+<code class="computeroutput"><a class="link" href="../BOOST_LOCAL_BLOCK_TPL.html" title="Macro BOOST_LOCAL_BLOCK_TPL">BOOST_LOCAL_BLOCK_TPL</a></code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span>
+<code class="computeroutput"><a class="link" href="../BOOST_LOCAL_EXIT_TPL.html" title="Macro BOOST_LOCAL_EXIT_TPL">BOOST_LOCAL_EXIT_TPL</a></code><span class="special">(</span> <span class="emphasis"><em>parenthesized-binding</em></span> <span class="special">)</span>
 </pre>
 <p>
         These macros have the exact same API as their equivalents without the <code class="computeroutput"><span class="identifier">TPL</span></code> postfix that we have seen so far. The
@@ -846,7 +846,7 @@
 </div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a id="ftn.id865394" href="#id865394" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id865404" href="#id865404" class="para">2</a>] </sup>
             The parenthesized syntax owes its name to the indeed large number of
             parenthesis <code class="computeroutput"><span class="special">()</span></code> that are
             required to wrap its elements. Programmers might notice some similarities
@@ -857,17 +857,17 @@
             sequences and Boost.Preprocessor
             sequences are formed by wrapping tokens within round parenthesis <code class="computeroutput"><span class="special">()</span></code>.
           </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id865521" href="#id865521" class="para">3</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id865531" href="#id865531" class="para">3</a>] </sup>
             <span class="bold"><strong>Rationale.</strong></span> This constraint comes form
             the fact that the C++ preprocessor can only concatenate <code class="literal">##</code>
             alphanumeric symbols.
           </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id865557" href="#id865557" class="para">4</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id865568" href="#id865568" class="para">4</a>] </sup>
             <span class="bold"><strong>Rationale.</strong></span> This constraint comes from
             the fact that the ISO C++ standard preprocessor forbids empty macro parameters
             (this is different for C99 and other more recent preprocessors).
           </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id866504" href="#id866504" class="para">5</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id866513" href="#id866513" class="para">5</a>] </sup>
             While there are fundamental limitations to the amount of parenthesized
             syntax error checking that can be done using the preprocessor (e.g.,
             there is no way to gracefully detect and report a missing parenthesis
@@ -878,14 +878,14 @@
             messages they experience because of parenthesized syntax errors so to
             help this development effort.
           </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id867024" href="#id867024" class="para">6</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id867034" href="#id867034" class="para">6</a>] </sup>
               <span class="bold"><strong>Rationale.</strong></span> If the local function body
               were instead passed as a macro parameter, it would be expanded on a
               single line of code (because macros always expand as a single line
               of code). Therefore, eventual compiler error line numbers would all
               have the same value and would no longer be useful to pinpoint the error.
             </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id867054" href="#id867054" class="para">7</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id867063" href="#id867063" class="para">7</a>] </sup>
               <span class="bold"><strong>Rationale.</strong></span> The local function name
               must be passed to the ending macro <code class="computeroutput">BOOST_LOCAL_FUNCTION_END</code>
               so this macro can declare a local variable with the local function
@@ -897,7 +897,7 @@
               (otherwise, the compiler error line numbers will all appear on the
               same line and they will no longer be useful to pinpoint the errors).
             </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id867618" href="#id867618" class="para">8</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id867627" href="#id867627" class="para">8</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> By binding a variable in scope,
           the local function declaration is specifying that such a variable should
           be accessible within the local function body regardless of its type. Semantically,
@@ -910,7 +910,7 @@
           This is especially useful for maintenance so if a bound variable type is
           changed, the local function declaration does not have to change.
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id868545" href="#id868545" class="para">9</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id868556" href="#id868556" class="para">9</a>] </sup>
           An historical note: Constant binding of variables in scope was the main
           use case that originally motivated the authors in developing this library.
           The authors needed to locally create a chuck of code to assert some correctness
@@ -918,14 +918,14 @@
           variables they were using (see the Contract++
           library). This was achieved by binding by constant reference the variables
           needed by the assertions and then by programming the local function body
- to check the assertions (or more conveniently by using <code class="computeroutput">BOOST_LOCAL_BLOCK</code>). This way
+ to check the assertions (or more conveniently by using <code class="computeroutput"><a class="link" href="../BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">BOOST_LOCAL_BLOCK</a></code>). This way
           if any of the assertions mistakenly changes a bound variable (for example
           confusing the operator <code class="computeroutput"><span class="special">==</span></code>
           with <code class="computeroutput"><span class="special">=</span></code>), the compiler correctly
           generates an error because the bound variable is of <code class="computeroutput"><span class="keyword">const</span></code>
           type within the local function body.
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id870165" href="#id870165" class="para">10</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id870178" href="#id870178" class="para">10</a>] </sup>
             <span class="bold"><strong>Rationale.</strong></span> This limitation comes from
             the fact that <code class="computeroutput"><span class="keyword">this</span></code> is a
             reserved C++ keyword so it cannot be used as the name of the internal
@@ -939,11 +939,11 @@
             behaviour of <code class="computeroutput"><span class="keyword">static_cast</span></code></a>
             (which might not work on all platforms at the cost of portability).
           </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id870268" href="#id870268" class="para">11</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id870281" href="#id870281" class="para">11</a>] </sup>
             <span class="bold"><strong>Rationale.</strong></span> This is because the body
             function is implemented as static function of the local functor class.
           </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id871709" href="#id871709" class="para">12</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id871733" href="#id871733" class="para">12</a>] </sup>
             <span class="bold"><strong>Rationale.</strong></span> Programmers might expect
             <code class="computeroutput"><span class="keyword">return</span><span class="special">;</span></code>
             to exit the enclosing function instead of the local block (or local exit),
@@ -961,11 +961,11 @@
             <code class="computeroutput"><span class="identifier">BOOST_LOCAL_RETURN</span><span class="special">;</span></code>)
             to exit local blocks (and local exits).
           </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id872989" href="#id872989" class="para">13</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id873021" href="#id873021" class="para">13</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> This library could be merged
           together with Boost.ScopeExit
           into a new library named Boost.Scope (from the meaning of the word "scope"
- in computer programming). This would be justified by the fact that <code class="computeroutput">BOOST_LOCAL_EXIT</code> simply extends
+ in computer programming). This would be justified by the fact that <code class="computeroutput"><a class="link" href="../BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">BOOST_LOCAL_EXIT</a></code> simply extends
           the functionality already provided by <code class="computeroutput"><span class="identifier">BOOST_SCOPE_EXIT</span></code>.
           The headers will be <code class="computeroutput"><span class="string">"boost/scope/function.hpp"</span></code>,
           <code class="computeroutput"><span class="string">"boost/scope/block.hpp"</span></code>,
@@ -988,7 +988,7 @@
           local functions are not known under the name of "scope functions"
           (they are indeed known by the name of "local functions" or "nested functions").
         </p></div>
-<div class="footnote"><p><sup>[<a id="ftn.id873317" href="#id873317" class="para">14</a>] </sup>
+<div class="footnote"><p><sup>[<a id="ftn.id873362" href="#id873362" class="para">14</a>] </sup>
           <span class="bold"><strong>Rationale.</strong></span> Within templates, this library
           needs to use <code class="computeroutput"><span class="keyword">typename</span></code> to explicitly
           indicate that some expressions evaluate to a type. Because C++ does not

Modified: sandbox/local/libs/local/doc/html/index.html
==============================================================================
--- sandbox/local/libs/local/doc/html/index.html (original)
+++ sandbox/local/libs/local/doc/html/index.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -389,7 +389,7 @@
 </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: February 22, 2011 at 22:21:50 GMT</small></p></td>
+<td align="left"><p><small>Last revised: February 24, 2011 at 04:03:25 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: sandbox/local/libs/local/doc/html/reference.html
==============================================================================
--- sandbox/local/libs/local/doc/html/reference.html (original)
+++ sandbox/local/libs/local/doc/html/reference.html 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="Boost.Local 0.1.1">
 <link rel="up" href="index.html" title="Boost.Local 0.1.1">
 <link rel="prev" href="boost_local/Advanced.html" title="Advanced">
-<link rel="next" href="BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html" title="Macro BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX">
+<link rel="next" href="BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,18 +20,30 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="boost_local/Advanced.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_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="boost_local/Advanced.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_LOCAL_BLOCK.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="reference"></a>Reference</h2></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section">Header <boost/local/block.hpp></span></dt>
 <dt><span class="section">Header <boost/local/config.hpp></span></dt>
+<dt><span class="section">Header <boost/local/exit.hpp></span></dt>
 <dt><span class="section">Header <boost/local/function.hpp></span></dt>
 <dt><span class="section">Header <boost/utility/identity.hpp></span></dt>
 </dl></div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.local.block_hpp"></a>Header &lt;boost/local/block.hpp&gt;</h3></div></div></div>
+<p>Local blocks allow to program code that is executed accessing some of the variables in scope as constants. </p>
+<pre class="synopsis">
+
+<a class="link" href="BOOST_LOCAL_BLOCK.html" title="Macro BOOST_LOCAL_BLOCK">BOOST_LOCAL_BLOCK</a>(...)
+<a class="link" href="BOOST_LOCAL_BLOCK_TPL.html" title="Macro BOOST_LOCAL_BLOCK_TPL">BOOST_LOCAL_BLOCK_TPL</a>(...)
+<a class="link" href="BOOST_LOCAL_BLOCK_END.html" title="Macro BOOST_LOCAL_BLOCK_END">BOOST_LOCAL_BLOCK_END</a></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
 <a name="header.boost.local.config_hpp"></a>Header &lt;boost/local/config.hpp&gt;</h3></div></div></div>
 <p>Configuration macros allow to change the behaviour of this library at compile-time. </p>
 <pre class="synopsis">
@@ -41,13 +53,23 @@
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
+<a name="header.boost.local.exit_hpp"></a>Header &lt;boost/local/exit.hpp&gt;</h3></div></div></div>
+<p>Local exits allow to program code that is executed when the enclosing scope is exited. </p>
+<pre class="synopsis">
+
+<a class="link" href="BOOST_LOCAL_EXIT.html" title="Macro BOOST_LOCAL_EXIT">BOOST_LOCAL_EXIT</a>(...)
+<a class="link" href="BOOST_LOCAL_EXIT_TPL.html" title="Macro BOOST_LOCAL_EXIT_TPL">BOOST_LOCAL_EXIT_TPL</a>(binding_list)
+<a class="link" href="BOOST_LOCAL_EXIT_END.html" title="Macro BOOST_LOCAL_EXIT_END">BOOST_LOCAL_EXIT_END</a></pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
 <a name="header.boost.local.function_hpp"></a>Header &lt;boost/local/function.hpp&gt;</h3></div></div></div>
 <p>Local function references can be passed as function and template parameters, they can be assigned to variables, etc. </p>
 <pre class="synopsis">
 
 <a class="link" href="BOOST_LOCAL_FUNCTION_PARAMS.html" title="Macro BOOST_LOCAL_FUNCTION_PARAMS">BOOST_LOCAL_FUNCTION_PARAMS</a>(...)
 <a class="link" href="BOOST_LOCAL_FUNCTION_PARAMS_TPL.html" title="Macro BOOST_LOCAL_FUNCTION_PARAMS_TPL">BOOST_LOCAL_FUNCTION_PARAMS_TPL</a>(...)
-<a class="link" href="BOOST_LOCAL_FUNCTION_NAME.html" title="Macro BOOST_LOCAL_FUNCTION_NAME">BOOST_LOCAL_FUNCTION_NAME</a>(name)</pre>
+<a class="link" href="BOOST_LOCAL_FUNCTION_NAME.html" title="Macro BOOST_LOCAL_FUNCTION_NAME">BOOST_LOCAL_FUNCTION_NAME</a>(local_function_name)</pre>
 <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">local</span> <span class="special">{</span>
     <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> F<span class="special">,</span> <span class="identifier">size_t</span> defaults <span class="special">=</span> <span class="number">0</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="boost/local/function.html" title="Struct template function">function</a><span class="special">;</span>
@@ -75,7 +97,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="boost_local/Advanced.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_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="boost_local/Advanced.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_LOCAL_BLOCK.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/local/libs/local/doc/html/standalone_HTML.manifest
==============================================================================
--- sandbox/local/libs/local/doc/html/standalone_HTML.manifest (original)
+++ sandbox/local/libs/local/doc/html/standalone_HTML.manifest 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -3,8 +3,14 @@
 boost_local/Tutorial.html
 boost_local/Advanced.html
 reference.html
+BOOST_LOCAL_BLOCK.html
+BOOST_LOCAL_BLOCK_TPL.html
+BOOST_LOCAL_BLOCK_END.html
 BOOST_LOCAL_CONFIG_FUNCTION_ARITY_MAX.html
 BOOST_LOCAL_CONFIG_THIS_PARAM_NAME.html
+BOOST_LOCAL_EXIT.html
+BOOST_LOCAL_EXIT_TPL.html
+BOOST_LOCAL_EXIT_END.html
 boost/local/function.html
 BOOST_LOCAL_FUNCTION_PARAMS.html
 BOOST_LOCAL_FUNCTION_PARAMS_TPL.html

Modified: sandbox/local/libs/local/doc/jamfile.jam
==============================================================================
--- sandbox/local/libs/local/doc/jamfile.jam (original)
+++ sandbox/local/libs/local/doc/jamfile.jam 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -11,8 +11,8 @@
 doxygen reference
     :
         ../../../boost/local/function.hpp
- #../../../boost/local/block.hpp
- #../../../boost/local/exit.hpp
+ ../../../boost/local/block.hpp
+ ../../../boost/local/exit.hpp
         ../../../boost/local/function.hpp
         ../../../boost/local/config.hpp
         ../../../boost/utility/identity.hpp

Modified: sandbox/local/libs/local/doc/qbk/introduction.qbk
==============================================================================
--- sandbox/local/libs/local/doc/qbk/introduction.qbk (original)
+++ sandbox/local/libs/local/doc/qbk/introduction.qbk 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -36,7 +36,7 @@
 
 [table
 [ [Notes] [Variadic Macro Syntax (C99 and later compilers)] [Sequencing Macro Syntax (all C++ compilers)] ]
-[ [ [add_line_numbers_cpp] ] [ [add_va_cpp] ] [ [add_cpp] ] ]
+[ [ [add_callouts_cpp] ] [ [add_va_cpp] ] [ [add_cpp] ] ]
 ]
 
 Where the notes refer to the following comments:

Modified: sandbox/local/libs/local/doc/qbk/local.qbk
==============================================================================
--- sandbox/local/libs/local/doc/qbk/local.qbk (original)
+++ sandbox/local/libs/local/doc/qbk/local.qbk 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -66,7 +66,7 @@
 [def __BOOST_IDENTITY_VALUE__ [macroref BOOST_IDENTITY_VALUE]]
 [def __function_ref__ [classref boost::local::function_ref function_ref]]
 
-[import ../../example/add_line_numbers.cpp]
+[import ../../example/add_callouts.cpp]
 [import ../../example/add.cpp]
 [import ../../example/add_va.cpp]
 [import ../../example/add_num.cpp]

Modified: sandbox/local/libs/local/example/add_template.cpp
==============================================================================
--- sandbox/local/libs/local/example/add_template.cpp (original)
+++ sandbox/local/libs/local/example/add_template.cpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -19,26 +19,26 @@
     T sum = T();
     int factor = 10;
 
- BOOST_LOCAL_FUNCTION_TPL( // Use `..._TPL()` macros in templates.
- (void) (add)( (T)(num) (const bind)((factor)) (bind)((&sum)) )
- ) {
- sum += factor * num;
- } BOOST_LOCAL_FUNCTION_END(add)
+ // Use `..._TPL()` macros within templates.
+ T BOOST_LOCAL_FUNCTION_PARAMS_TPL( (T num) (const bind factor)
+ (bind& sum) ) {
+ return sum += factor * num;
+ } BOOST_LOCAL_FUNCTION_NAME(add)
     add(x);
 
- size_t size = 2;
- T* nums = new T[size];
- BOOST_LOCAL_EXIT_TPL( (const bind)((&size)) (bind)((nums)) ) {
- if (size && nums) delete[] nums;
- } BOOST_LOCAL_EXIT_END
-
- nums[0] = y; nums[1] = z;
- std::for_each(nums, nums + size, add);
-
- BOOST_LOCAL_BLOCK_TPL(
- (const bind)((&sum)(&factor)(&x)(&y)(&z)) ) {
- assert(sum == factor * (x + y + z));
- } BOOST_LOCAL_BLOCK_END
+// size_t size = 2;
+// T* nums = new T[size];
+// BOOST_LOCAL_EXIT_TPL( (const bind& size) (bind nums) ) {
+// if (size && nums) delete[] nums;
+// } BOOST_LOCAL_EXIT_END
+
+// nums[0] = y; nums[1] = z;
+// std::for_each(nums, nums + size, add);
+
+// BOOST_LOCAL_BLOCK_TPL( (const bind &sum) (const bind& factor)
+// (const bind& x) (const bind& y) (const bind& z) ) {
+// assert(sum == factor * (x + y + z));
+// } BOOST_LOCAL_BLOCK_END
 
     return sum;
 }

Added: sandbox/local/libs/local/example/add_template_va.cpp
==============================================================================
--- (empty file)
+++ sandbox/local/libs/local/example/add_template_va.cpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -0,0 +1,52 @@
+
+// Copyright (C) 2009-2011 Lorenzo Caminiti
+// Use, modification, and distribution is subject to the
+// Boost Software License, Version 1.0
+// (see accompanying file LICENSE_1_0.txt or a copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+
+// Use local functions, blocks, and exits from template scope.
+// Simplified syntax for variadic macros only.
+
+//[add_template_cpp
+#include <boost/local/function.hpp>
+#include <boost/local/block.hpp>
+#include <boost/local/exit.hpp>
+#include <algorithm>
+#include <cassert>
+
+template<typename T>
+T total(const T& x, const T& y, const T& z) {
+ T sum = T();
+ int factor = 10;
+
+ // Use `..._TPL()` macros within templates.
+ void BOOST_LOCAL_FUNCTION_PARAMS_TPL(T num, const bind factor,
+ bind& sum) {
+ sum += factor * num;
+ } BOOST_LOCAL_FUNCTION_NAME(add)
+ add(x);
+
+ size_t size = 2;
+ T* nums = new T[size];
+ BOOST_LOCAL_EXIT_TPL(const bind& size, bind nums) {
+ if (size && nums) delete[] nums;
+ } BOOST_LOCAL_EXIT_END
+
+ nums[0] = y; nums[1] = z;
+ std::for_each(nums, nums + size, add);
+
+ BOOST_LOCAL_BLOCK_TPL(const bind &sum, const bind& factor,
+ const bind& x, const bind& y, const bind& z) {
+ assert(sum == factor * (x + y + z));
+ } BOOST_LOCAL_BLOCK_END
+
+ return sum;
+}
+
+int main() {
+ total(100.0, 90.5, 7.0);
+ return 0;
+}
+//]
+

Modified: sandbox/local/libs/local/example/jamfile.jam
==============================================================================
--- sandbox/local/libs/local/example/jamfile.jam (original)
+++ sandbox/local/libs/local/example/jamfile.jam 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -6,26 +6,62 @@
 # http://www.boost.org/LICENSE_1_0.txt).
 
 exe add : add.cpp ;
+exe add_va : add_va.cpp ;
+
 exe add_block : add_block.cpp ;
+exe add_block_va : add_block_va.cpp ;
+
 exe add_except : add_except.cpp ;
+exe add_except_va : add_except_va.cpp ;
+
 exe add_exit : add_exit.cpp ;
+exe add_exit_va : add_exit_va.cpp ;
+
 exe add_num : add_num.cpp ;
+exe add_num_va : add_num_va.cpp ;
+
 exe add_num_factor_sum : add_num_factor_sum.cpp ;
+exe add_num_factor_sum_va : add_num_factor_sum_va.cpp ;
+
 exe add_num_sum : add_num_sum.cpp ;
+exe add_num_sum_va : add_num_sum_va.cpp ;
+
 exe add_optimizers : add_optimizers.cpp ;
+exe add_optimizers_va : add_optimizers_va.cpp ;
+
 exe add_template : add_template.cpp ;
+exe add_template_va : add_template_va.cpp ;
+
 exe add_this : add_this.cpp ;
+exe add_this_va : add_this_va.cpp ;
 
 exe block : block.cpp ;
+exe block_va : block_va.cpp ;
+
 exe doit : doit.cpp ;
+exe doit_va : doit_va.cpp ;
+
 exe exit : exit.cpp ;
+exe exit_va : exit_va.cpp ;
+
 exe factorial : factorial.cpp ;
+exe factorial_va : factorial_va.cpp ;
+
 exe find_if : find_if.cpp ;
-exe params : params.cpp ;
+exe find_if_va : find_if_va.cpp ;
+
+exe params_all : params_all.cpp ;
+exe params_all_va : params_all_va.cpp ;
+
+exe params_none : params_none.cpp ;
+exe params_none_ep : params_none_ep.cpp ;
+
 exe print_map : print_map.cpp ;
-exe renamed_exit : renamed_exit.cpp ;
-exe renamed_print : renamed_print.cpp ;
+exe print_map_va : print_map_va.cpp ;
+
 exe this : this.cpp ;
+exe this_va : this_va.cpp ;
+
 exe transform : transform.cpp ;
-exe same_line : same_line.cpp ;
+exe transform_va : transform_va.cpp ;
 

Modified: sandbox/local/libs/local/example/print_map.cpp
==============================================================================
--- sandbox/local/libs/local/example/print_map.cpp (original)
+++ sandbox/local/libs/local/example/print_map.cpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -22,11 +22,11 @@
 typedef int const& sign_t;
 
 int main() {
- void BOOST_LOCAL_FUNCTION_NAME(
+ void BOOST_LOCAL_FUNCTION_PARAMS(
             // Identity macors handle commas.
             (BOOST_IDENTITY_TYPE((const std::map<std::string, size_t>))& m)
             (const size_t& factor)(default // Or just use `(default (...))`.
- BOOST_IDENITY_VALUE((key_size<std::string, size_t>::value)))
+ BOOST_IDENTITY_VALUE((key_size<std::string, size_t>::value)))
             (const std::string& separator)(default cat(":", " "))
             // Also, identity macors handle leading symbols.
             (BOOST_IDENTITY_TYPE((::sign_t)) sign)(default -1) ) {

Added: sandbox/local/libs/local/example/print_map_va.cpp
==============================================================================
--- (empty file)
+++ sandbox/local/libs/local/example/print_map_va.cpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
@@ -0,0 +1,48 @@
+
+// Copyright (C) 2009-2011 Lorenzo Caminiti
+// Use, modification, and distribution is subject to the
+// Boost Software License, Version 1.0
+// (see accompanying file LICENSE_1_0.txt or a copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+
+// Show how to handle commas and symbols in macro parameters.
+// Simplified syntax for variadic macros only.
+
+//[ print_map_cpp
+#include <boost/local/function.hpp>
+#include <boost/utility/identity.hpp>
+#include <map>
+#include <string>
+#include <iostream>
+
+template<typename K, typename T> struct key_size { static const size_t value; };
+template<typename K, typename T> const size_t key_size<K, T>::value = sizeof(K);
+
+std::string cat(const std::string& a, const std::string& b) { return a + b; }
+
+typedef int const& sign_t;
+
+int main() {
+ void BOOST_LOCAL_FUNCTION_PARAMS(
+ // Identity macors handle commas.
+ BOOST_IDENTITY_TYPE((const std::map<std::string, size_t>))& m,
+ const size_t& factor, default // Or just use `(default (...))`.
+ BOOST_IDENTITY_VALUE((key_size<std::string, size_t>::value)),
+ const std::string& separator, default cat(":", " "),
+ // Also, identity macors handle leading symbols.
+ BOOST_IDENTITY_TYPE((::sign_t)) sign, default -1) {
+ for (std::map<std::string, size_t>::const_iterator i = m.begin();
+ i != m.end(); ++i) {
+ std::cout << i->first << separator <<
+ sign * int(i->second) * int(factor) << std::endl;
+ }
+ } BOOST_LOCAL_FUNCTION_NAME(print)
+
+ std::map<std::string, size_t> sizes;
+ sizes["a"] = 1; sizes["ab"] = 2; sizes["abc"] = 3;
+ print(sizes);
+
+ return 0;
+}
+//]
+

Deleted: sandbox/local/libs/local/example/renamed_exit.cpp
==============================================================================
--- sandbox/local/libs/local/example/renamed_exit.cpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
+++ (empty file)
@@ -1,48 +0,0 @@
-
-// Copyright (C) 2009-2011 Lorenzo Caminiti
-// Use, modification, and distribution is subject to the
-// Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-// Implement simple local exit using local function renaming.
-
-//[ renamed_exit_cpp
-#include <boost/local/function.hpp>
-#include <boost/local/function_ref.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-#define EXIT(parenthesized_binding) \
- BOOST_LOCAL_FUNCTION( \
- (void) (BOOST_PP_CAT(exit_code, __LINE__))( parenthesized_binding ) \
- ) /* followed by exit body here */
-
-// Local function renaming is necessary because `__LINE__` has a different
-// value when `EXIT_END` macro expands respect to its value when the `EXIT()`
-// macro expands.
-#define EXIT_END \
- /* preceded by exit body here */ \
- BOOST_LOCAL_FUNCTION_END_RENAME( \
- BOOST_PP_CAT(exit_code, __LINE__)) \
- exit_guard BOOST_PP_CAT(exit_guardian, __LINE__)( \
- BOOST_PP_CAT(exit_code, __LINE__));
-
-struct exit_guard {
- typedef boost::local::function_ref< void () > ref_type;
- explicit exit_guard(ref_type ref): ref_(ref) {}
- ~exit_guard() { ref_(); } // Execute local function code at scope exit.
-private:
- ref_type ref_;
-};
-
-int main() {
- int* a = new int[3];
- EXIT( (bind)((a)) ) {
- // Body outside macros so retain complier error meaning.
- if (a) delete[] a;
- } EXIT_END
-
- return 0;
-}
-//]
-

Deleted: sandbox/local/libs/local/example/renamed_print.cpp
==============================================================================
--- sandbox/local/libs/local/example/renamed_print.cpp 2011-02-24 14:41:19 EST (Thu, 24 Feb 2011)
+++ (empty file)
@@ -1,35 +0,0 @@
-
-// Copyright (C) 2009-2011 Lorenzo Caminiti
-// Use, modification, and distribution is subject to the
-// Boost Software License, Version 1.0
-// (see accompanying file LICENSE_1_0.txt or a copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-// Show who to rename a local function and pass it as template parameter.
-
-//[ renamed_print_cpp
-#include <boost/local/function.hpp>
-#include <boost/local/function_ref.hpp>
-#include <algorithm>
-#include <iostream>
-
-int main() {
- BOOST_LOCAL_FUNCTION(
- (void) (print)( (int)(x) )
- ) {
- // Only original `print` name available within local function body.
- std::cout << x << std::endl;
- } BOOST_LOCAL_FUNCTION_END_RENAME(new_print)
- // Only new `new_print` name available within enclosing scope.
-
- int a[3] = {1, 2, 3};
-
- // std::for_each(a, a + 3, new_print); // Error: Passing renamed function.
-
- boost::local::function_ref< void (int) > print_ref = new_print;
- std::for_each(a, a + 3, print_ref); // OK: Passing function reference.
-
- return 0;
-}
-//]
-


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