Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r64850 - in sandbox/SOC/2010/phoenix3: . boost/phoenix/core boost/phoenix/scope boost/phoenix/scope/detail libs/phoenix/doc/html libs/phoenix/doc/html/phoenix libs/phoenix/doc/html/phoenix/advanced_topics libs/phoenix/doc/html/phoenix/reference libs/phoenix/doc/html/phoenix/reference/concepts libs/phoenix/doc/html/phoenix/reference/modules libs/phoenix/doc/html/phoenix/reference/modules/bind libs/phoenix/doc/html/phoenix/reference/modules/core libs/phoenix/doc/html/phoenix/reference/modules/object libs/phoenix/doc/html/phoenix/reference/modules/operator libs/phoenix/doc/html/phoenix/reference/modules/scope libs/phoenix/doc/html/phoenix/reference/modules/statement libs/phoenix/doc/html/phoenix/reference/modules/stl libs/phoenix/doc/html/phoenix/starter_kit/composites libs/phoenix/doc/html/phoenix/starter_kit/primitives libs/phoenix/doc/reference libs/phoenix/doc/reference/concepts libs/phoenix/example
From: thom.heller_at_[hidden]
Date: 2010-08-16 13:52:52


Author: theller
Date: 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
New Revision: 64850
URL: http://svn.boost.org/trac/boost/changeset/64850

Log:
final commit for gsoc submission
Added:
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator/
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator/supported_operators.html (contents, props changed)
   sandbox/SOC/2010/phoenix3/libs/phoenix/example/all_odds.cpp (contents, props changed)
   sandbox/SOC/2010/phoenix3/libs/phoenix/example/lambda.cpp (contents, props changed)
Properties modified:
   sandbox/SOC/2010/phoenix3/index.html (props changed)
Text files modified:
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp | 10 +++
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/nothing.hpp | 4
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_variable.hpp | 1
   sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp | 16 ++++++
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html | 16 +++--
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/extending_actors.html | 8 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/basics.html | 10 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/actor.html | 16 +++---
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/environment.html | 14 ++--
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluationpolicy.html | 98 ++++++++++++++++++++++++++++++++----
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluator.html | 24 ++++----
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind.html | 10 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_functions.html | 8 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/arguments.html | 40 +++++++--------
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/constant_references.html | 5 -
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/nothing.html | 8 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/references.html | 19 +++---
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/values.html | 10 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/function.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/construction.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/new.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator.html | 105 +++++----------------------------------
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/lambda.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/local_variables.html | 6 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement.html | 14 ++--
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___do_while_____statement.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___if_else_____statement.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/block_statement.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/for__statement.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/switch__statement.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/while__statement.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/algorithm.html | 6 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/container.html | 4
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/organization.html | 6 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html | 4
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html | 4
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest | 1
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/bind.qbk | 11 ++-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/actor.qbk | 6 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/environment.qbk | 4
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/evaluation_policy.qbk | 32 ++++++++++-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/evaluator.qbk | 12 ++--
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/core.qbk | 39 +++++++-------
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/function.qbk | 12 ++-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/object.qbk | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/operator.qbk | 26 +++++----
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/scope.qbk | 8 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/statement.qbk | 20 +++---
   52 files changed, 363 insertions(+), 304 deletions(-)

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/environment.hpp 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -35,6 +35,16 @@
         return fusion::at_c<N>(env);
     }
 
+ template <typename N, typename Env>
+ typename boost::enable_if<
+ is_environment<Env>
+ , typename result_of::get_environment_argument<Env, N>::type
+ >::type
+ get_environment_argument_c(Env& env)
+ {
+ return fusion::at_c<N::value>(env);
+ }
+
     // Get the Nth argument from the environment
     struct get_environment_argument
     {

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/nothing.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/nothing.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/nothing.hpp 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -20,7 +20,7 @@
     //
     ////////////////////////////////////////////////////////////////////////////
     
- struct null_actor
+ struct null_eval
     {
         typedef void result_type;
 
@@ -29,7 +29,7 @@
         {}
     };
 
- compose<null_actor>::result_type const nothing = {};
+ compose<null_eval>::type const nothing = {};
 }}
 
 #endif

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_variable.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_variable.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/detail/local_variable.hpp 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -18,7 +18,6 @@
 
 namespace boost { namespace phoenix
 {
-
     namespace detail
     {
         struct compute_no_nullary

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/scope/scoped_environment.hpp 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -43,6 +43,22 @@
             : fusion::result_of::at_c<Env, N::value>
         {};
     }
+
+ // overload get_environment_argument to return the correct argument
+ template <typename N, typename Env, typename OuterEnv, typename Locals, typename Map>
+ typename result_of::get_environment_argument<scoped_environment<Env, OuterEnv, Locals, Map>, N>::type
+ get_environment_argument_c(scoped_environment<Env, OuterEnv, Locals, Map>& env)
+ {
+ return fusion::at_c<N::value>(env.env);
+ }
+
+ template <typename N, typename Env, typename OuterEnv, typename Locals, typename Map>
+ typename result_of::get_environment_argument<scoped_environment<Env, OuterEnv, Locals, Map>, N>::type
+ get_environment_argument_c(scoped_environment<Env, OuterEnv, Locals, Map> const& env)
+ {
+ return fusion::at_c<N::value>(env.env);
+ }
+
 
     // overload get_environment_argument_c to return the correct argument
     template <int N, typename Env, typename OuterEnv, typename Locals, typename Map>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -26,7 +26,7 @@
 </h3></div></div>
 <div><p class="copyright">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller</p></div>
 <div><div class="legalnotice">
-<a name="id633133"></a><p>
+<a name="id634806"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -87,6 +87,8 @@
 </dl></dd>
 <dt><span class="section">Function</span></dt>
 <dt><span class="section">Operator</span></dt>
+<dd><dl><dt><span class="section"><a href="phoenix/reference/modules/operator/supported_operators.html">Supported
+ operators</a></span></dt></dl></dd>
 <dt><span class="section">Statement</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="phoenix/reference/modules/statement/block_statement.html">Block
@@ -143,7 +145,7 @@
 </dl>
 </div>
 <a name="phoenix.preface"></a><h2>
-<a name="id663863"></a>
+<a name="id665535"></a>
     <a class="link" href="index.html#phoenix.preface">Preface</a>
   </h2>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -162,7 +164,7 @@
     <span class="inlinemediaobject"><img src="images/lambda_cpp.png" alt="lambda_cpp"></span>
   </p>
 <a name="phoenix.description"></a><h3>
-<a name="id631915"></a>
+<a name="id633587"></a>
     <a class="link" href="index.html#phoenix.description">Description</a>
   </h3>
 <p>
@@ -180,7 +182,7 @@
     library is organized in highly independent modules and layers.
   </p>
 <a name="phoenix.how_to_use_this_manual"></a><h3>
-<a name="id631962"></a>
+<a name="id633634"></a>
     <a class="link" href="index.html#phoenix.how_to_use_this_manual">How to use this manual</a>
   </h3>
 <p>
@@ -202,7 +204,7 @@
     icons precede some text to indicate:
   </p>
 <div class="table">
-<a name="id631996"></a><p class="title"><b>Table&#160;1.1.&#160;Icons</b></p>
+<a name="id633669"></a><p class="title"><b>Table&#160;1.1.&#160;Icons</b></p>
 <div class="table-contents"><table class="table" summary="Icons">
 <colgroup>
 <col>
@@ -291,12 +293,12 @@
   </p>
 </div>
 <a name="phoenix._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"></a><h3>
-<a name="id672818"></a>
+<a name="id674490"></a>
     <a class="link" href="index.html#phoenix._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"><span class="bold"><strong><span class="emphasis"><em>...To my dear daughter, Phoenix</em></span></strong></span></a>
   </h3>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: August 16, 2010 at 15:22:16 GMT</small></p></td>
+<td align="left"><p><small>Last revised: August 16, 2010 at 17:33:55 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/extending_actors.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/extending_actors.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/extending_actors.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -39,7 +39,7 @@
         on how to implement a custom actor which is usable as if it were a STL Container.
       </p>
 <a name="phoenix.advanced_topics.extending_actors.requirements"></a><h5>
-<a name="id677375"></a>
+<a name="id679047"></a>
         <a class="link" href="extending_actors.html#phoenix.advanced_topics.extending_actors.requirements">Requirements</a>
       </h5>
 <p>
@@ -141,7 +141,7 @@
         Additionally, we want all the operator() overloads of the regular actor.
       </p>
 <a name="phoenix.advanced_topics.extending_actors.defining_the_actor"></a><h5>
-<a name="id677664"></a>
+<a name="id679337"></a>
         <a class="link" href="extending_actors.html#phoenix.advanced_topics.extending_actors.defining_the_actor">Defining
         the actor</a>
       </h5>
@@ -174,7 +174,7 @@
 <span class="special">};</span>
 </pre>
 <a name="phoenix.advanced_topics.extending_actors.using_the_actor"></a><h5>
-<a name="id678366"></a>
+<a name="id680039"></a>
         <a class="link" href="extending_actors.html#phoenix.advanced_topics.extending_actors.using_the_actor">Using
         the actor</a>
       </h5>
@@ -235,7 +235,7 @@
         Wow, that was easy!
       </p>
 <a name="phoenix.advanced_topics.extending_actors.adding_life_to_the_actor"></a><h5>
-<a name="id679128"></a>
+<a name="id680800"></a>
         <a class="link" href="extending_actors.html#phoenix.advanced_topics.extending_actors.adding_life_to_the_actor">Adding
         life to the actor</a>
       </h5>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -42,6 +42,8 @@
 </dl></dd>
 <dt><span class="section">Function</span></dt>
 <dt><span class="section">Operator</span></dt>
+<dd><dl><dt><span class="section"><a href="reference/modules/operator/supported_operators.html">Supported
+ operators</a></span></dt></dl></dd>
 <dt><span class="section">Statement</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="reference/modules/statement/block_statement.html">Block

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/basics.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/basics.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/basics.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -42,7 +42,7 @@
         </p></td></tr>
 </table></div>
 <a name="phoenix.reference.basics.partial_function_application"></a><h5>
-<a name="id680131"></a>
+<a name="id681803"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.partial_function_application">Partial
         Function Application</a>
       </h5>
@@ -98,7 +98,7 @@
         be black boxes anymore.
       </p>
 <a name="phoenix.reference.basics.stl_and_higher_order_functions"></a><h5>
-<a name="id680347"></a>
+<a name="id682019"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.stl_and_higher_order_functions">STL
         and higher order functions</a>
       </h5>
@@ -129,7 +129,7 @@
         </p></td></tr>
 </table></div>
 <a name="phoenix.reference.basics.lazy_evaluation"></a><h5>
-<a name="id680559"></a>
+<a name="id682231"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.lazy_evaluation">Lazy Evaluation</a>
       </h5>
 <p>
@@ -184,7 +184,7 @@
 </span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)(</span><span class="identifier">y</span><span class="special">)</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> <span class="comment">// prints 0 or false
 </span></pre>
 <a name="phoenix.reference.basics.forwarding_function_problem"></a><h5>
-<a name="id681102"></a>
+<a name="id682774"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.forwarding_function_problem">Forwarding
         Function Problem</a>
       </h5>
@@ -225,7 +225,7 @@
         </p></td></tr>
 </table></div>
 <a name="phoenix.reference.basics.polymorphic_functions"></a><h5>
-<a name="id681240"></a>
+<a name="id682912"></a>
         <a class="link" href="basics.html#phoenix.reference.basics.polymorphic_functions">Polymorphic
         Functions</a>
       </h5>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/actor.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/actor.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/actor.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -20,7 +20,7 @@
 <a name="phoenix.reference.concepts.actor"></a><a class="link" href="actor.html" title="Actor">Actor</a>
 </h4></div></div></div>
 <a name="phoenix.reference.concepts.actor.description"></a><h6>
-<a name="id682655"></a>
+<a name="id684328"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.description">Description</a>
         </h6>
 <p>
@@ -74,7 +74,7 @@
 </dl>
 </div>
 <a name="phoenix.reference.concepts.actor.valid_expressions"></a><h6>
-<a name="id682899"></a>
+<a name="id684572"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.valid_expressions">Valid
           Expressions</a>
         </h6>
@@ -156,7 +156,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.actor.result_type_expressions"></a><h6>
-<a name="id683032"></a>
+<a name="id684705"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.result_type_expressions">Result
           Type Expressions</a>
         </h6>
@@ -238,7 +238,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.actor.expression_semantics"></a><h6>
-<a name="id683165"></a>
+<a name="id684838"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -301,18 +301,18 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.actor.models"></a><h6>
-<a name="id683307"></a>
+<a name="id684980"></a>
           <a class="link" href="actor.html#phoenix.reference.concepts.actor.models">Models</a>
         </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
- <a class="link" href="../../../"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">actor</span></code></a>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">actor</span></code>
             </li>
 <li class="listitem">
- <a class="link" href="../modules/statement/if__statement.html" title="if_ Statement"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">if_</span></code></a>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">if_</span></code>
             </li>
 <li class="listitem">
- <a class="link" href="../modules/statement/try__catch__statement.html" title="try_ catch_ Statement"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">try_</span></code></a>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">try_</span></code>
             </li>
 </ul></div>
 </div>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/environment.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/environment.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/environment.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -20,7 +20,7 @@
 <a name="phoenix.reference.concepts.environment"></a><a class="link" href="environment.html" title="Environment">Environment</a>
 </h4></div></div></div>
 <a name="phoenix.reference.concepts.environment.description"></a><h6>
-<a name="id684626"></a>
+<a name="id687255"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.description">Description</a>
         </h6>
 <p>
@@ -51,7 +51,7 @@
 </dl>
 </div>
 <a name="phoenix.reference.concepts.environment.valid_expressions"></a><h6>
-<a name="id684747"></a>
+<a name="id687377"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.valid_expressions">Valid
           Expressions</a>
         </h6>
@@ -116,7 +116,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.environment.result_type_expressions"></a><h6>
-<a name="id684920"></a>
+<a name="id687551"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.result_type_expressions">Result
           Type Expressions</a>
         </h6>
@@ -182,7 +182,7 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.environment.expression_semantics"></a><h6>
-<a name="id685124"></a>
+<a name="id687755"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -233,15 +233,15 @@
 </tbody>
 </table></div>
 <a name="phoenix.reference.concepts.environment.models"></a><h6>
-<a name="id685308"></a>
+<a name="id687939"></a>
           <a class="link" href="environment.html#phoenix.reference.concepts.environment.models">Models</a>
         </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
- <a class="link" href="../../../"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">basic_environment</span></code></a>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">basic_environment</span></code>
             </li>
 <li class="listitem">
- <a class="link" href="../../../"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">scoped_environment</span></code></a>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">scoped_environment</span></code>
             </li>
 </ul></div>
 </div>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluationpolicy.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluationpolicy.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluationpolicy.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -20,12 +20,13 @@
 <a name="phoenix.reference.concepts.evaluationpolicy"></a><a class="link" href="evaluationpolicy.html" title="EvaluationPolicy">EvaluationPolicy</a>
 </h4></div></div></div>
 <a name="phoenix.reference.concepts.evaluationpolicy.description"></a><h6>
-<a name="id684012"></a>
+<a name="id685794"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.description">Description</a>
         </h6>
 <p>
           Evaluation Policies are the classes which decide how the composite is to
- be evaluated with respect to the default evaluator.
+ be evaluated with respect to the default evaluator. They are completly
+ independent of the <a class="link" href="actor.html" title="Actor">Actor</a>.
         </p>
 <div class="variablelist">
 <p class="title"><b>Notation</b></p>
@@ -40,7 +41,8 @@
               </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">Env</span></code></span></dt>
 <dd><p>
- A type of <a class="link" href="environment.html" title="Environment">Environment</a>
+ Type fulfilling the <a class="link" href="environment.html" title="Environment">Environment
+ concept</a>
               </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">env</span></code></span></dt>
 <dd><p>
@@ -48,7 +50,8 @@
               </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span></code></span></dt>
 <dd><p>
- Argument Types
+ Types fulfilling the <a class="link" href="actor.html" title="Actor">Actor
+ Concept</a>
               </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span><span class="special">...</span><span class="identifier">aN</span></code></span></dt>
 <dd><p>
@@ -57,7 +60,7 @@
 </dl>
 </div>
 <a name="phoenix.reference.concepts.evaluationpolicy.valid_expressions"></a><h6>
-<a name="id684194"></a>
+<a name="id685990"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.valid_expressions">Valid
           Expressions</a>
         </h6>
@@ -104,7 +107,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluationpolicy.result_type_expressions"></a><h6>
-<a name="id684321"></a>
+<a name="id686117"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.result_type_expressions">Result
           Type Expressions</a>
         </h6>
@@ -140,7 +143,7 @@
                 </td>
 <td>
                   <p>
- Result of evaluation
+ Result of the evaluation
                   </p>
                 </td>
 <td>
@@ -151,7 +154,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluationpolicy.expression_semantics"></a><h6>
-<a name="id684475"></a>
+<a name="id686271"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -187,12 +190,83 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluationpolicy.models"></a><h6>
-<a name="id684588"></a>
+<a name="id686384"></a>
           <a class="link" href="evaluationpolicy.html#phoenix.reference.concepts.evaluationpolicy.models">Models</a>
         </h6>
-<p>
- TODO (almost everything)
- </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">value</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">reference</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">argument</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">null_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">if_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">if_else_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">switch_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">while_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">do_while_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">for_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">try_catch_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">try_catch_all_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">throw_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">construct_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">new_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">delete_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">static_cast_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">dynamic_cast_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">reinterpret_cast_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">const_cast_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">local_variable</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">let_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">lambda_eval</span></code>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">lambda_actor_eval</span></code>
+ </li>
+</ul></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluator.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluator.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/concepts/evaluator.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -20,7 +20,7 @@
 <a name="phoenix.reference.concepts.evaluator"></a><a class="link" href="evaluator.html" title="Evaluator">Evaluator</a>
 </h4></div></div></div>
 <a name="phoenix.reference.concepts.evaluator.description"></a><h6>
-<a name="id683467"></a>
+<a name="id685122"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.description">Description</a>
         </h6>
 <p>
@@ -45,7 +45,8 @@
               </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">Expr</span></code></span></dt>
 <dd><p>
- Type of the Actor Concept
+ Type of the <a class="link" href="actor.html" title="Actor">Actor
+ Concept</a>
               </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">expr</span></code></span></dt>
 <dd><p>
@@ -53,7 +54,8 @@
               </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">Env</span></code></span></dt>
 <dd><p>
- Type fulfilling the Environment concept
+ Type fulfilling the <a class="link" href="environment.html" title="Environment">Environment
+ concept</a>
               </p></dd>
 <dt><span class="term"><code class="computeroutput"><span class="identifier">env</span></code></span></dt>
 <dd><p>
@@ -62,7 +64,7 @@
 </dl>
 </div>
 <a name="phoenix.reference.concepts.evaluator.valid_expressions"></a><h6>
-<a name="id683637"></a>
+<a name="id685306"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.valid_expressions">Valid
           Expressions</a>
         </h6>
@@ -109,7 +111,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluator.result_type_expressions"></a><h6>
-<a name="id683755"></a>
+<a name="id685424"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.result_type_expressions">Result
           Type Expressions</a>
         </h6>
@@ -155,7 +157,7 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluator.expression_semantics"></a><h6>
-<a name="id683841"></a>
+<a name="id685510"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.expression_semantics">Expression
           Semantics</a>
         </h6>
@@ -191,21 +193,21 @@
 </tr></tbody>
 </table></div>
 <a name="phoenix.reference.concepts.evaluator.models"></a><h6>
-<a name="id683946"></a>
+<a name="id685615"></a>
           <a class="link" href="evaluator.html#phoenix.reference.concepts.evaluator.models">Models</a>
         </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
- eval_grammar
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">eval_grammar</span></code>
             </li>
 <li class="listitem">
- arity
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">arity</span></code>
             </li>
 <li class="listitem">
- no_nullary
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">no_nullary</span></code>
             </li>
 <li class="listitem">
- switch_grammar
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">switch_grammar</span></code>
             </li>
 </ul></div>
 </div>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -31,6 +31,8 @@
 </dl></dd>
 <dt><span class="section">Function</span></dt>
 <dt><span class="section">Operator</span></dt>
+<dd><dl><dt><span class="section"><a href="modules/operator/supported_operators.html">Supported
+ operators</a></span></dt></dl></dd>
 <dt><span class="section">Statement</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="modules/statement/block_statement.html">Block

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -31,7 +31,7 @@
 </dl></div>
 <p>
           <span class="emphasis"><em>Binding</em></span> is the act of tying together a function to
- some arguments for deferred (lazy) evaluation. Named <a class="link" href="function.html" title="Function">Lazy
+ some arguments for deferred (lazy) evaluation. Named <a class="link" href="function.html" title="Function">lazy
           functions</a> require a bit of typing. Unlike (unnamed) lambda expressions,
           we need to write a functor somewhere offline, detached from the call site.
           If you wish to transform a plain function, member function or member variable
@@ -45,15 +45,15 @@
 </tr>
 <tr><td align="left" valign="top"><p>
             Take note that binders are monomorphic. Rather than binding functions,
- the preferred way is to write true generic and polymorphic <a class="link" href="function.html" title="Function">lazy-functions</a>.
- However, since most of the time we are dealing with adaptation of existing
- code, binders get the job done faster.
+ the preferred way is to write true generic and polymorphic <a class="link" href="function.html" title="Function">lazy
+ functions</a>. However, since most of the time we are dealing with
+ adaptation of existing code, binders get the job done faster.
           </p></td></tr>
 </table></div>
 <p>
           There is a set of overloaded <code class="computeroutput"><span class="identifier">bind</span></code>
           template functions. Each <code class="computeroutput"><span class="identifier">bind</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
- function generates a suitable binder object, a <a class="link" href="../../../">composite</a>.
+ function generates a suitable binder object.
         </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_functions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_functions.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/bind/binding_functions.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -37,10 +37,10 @@
 <pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span>
 </pre>
 <p>
- This is now a full-fledged <a class="link" href="../../../../">composite</a>
- that can finally be evaluated by another function call invocation. A
- second function call will invoke the actual <code class="computeroutput"><span class="identifier">foo</span></code>
- function. Example:
+ This is now a full-fledged composite that can finally be evaluated by
+ another function call invocation. A second function call will invoke
+ the actual <code class="computeroutput"><span class="identifier">foo</span></code> function.
+ Example:
           </p>
 <pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)(</span><span class="number">4</span><span class="special">);</span>
 </pre>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/arguments.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/arguments.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/arguments.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -24,20 +24,19 @@
 <p>
             We use an instance of:
           </p>
-<pre class="programlisting"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">argument</span><span class="special">,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">make_argument</span><span class="special">&lt;</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
 </pre>
 <p>
             to represent the Nth function argument. The argument placeholder acts
             as an imaginary data-bin where a function argument will be placed.
           </p>
-<a name="phoenix.reference.modules.core.arguments.predefined_arguments"></a><h3>
-<a name="id686841"></a>
+<a name="phoenix.reference.modules.core.arguments.predefined_arguments"></a><h6>
+<a name="id689412"></a>
             <a class="link" href="arguments.html#phoenix.reference.modules.core.arguments.predefined_arguments">Predefined
             Arguments</a>
- </h3>
+ </h6>
 <p>
- There are a few predefined instances of <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">argument</span><span class="special">,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
- named <code class="computeroutput"><span class="identifier">arg1</span></code>..<code class="computeroutput"><span class="identifier">argN</span></code>, and its BLL
+ There are a few predefined instances of <code class="computeroutput"><span class="identifier">make_argument</span><span class="special">&lt;</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></code> named <code class="computeroutput"><span class="identifier">arg1</span></code>..<code class="computeroutput"><span class="identifier">argN</span></code>, and its BLL
             counterpart <code class="computeroutput"><span class="identifier">_1</span></code>..<code class="computeroutput"><span class="identifier">_N</span></code>. (where N is a predefined maximum).
           </p>
 <p>
@@ -63,26 +62,25 @@
 </tr>
 <tr><td align="left" valign="top"><p>
               You can set <code class="computeroutput"><span class="identifier">PHOENIX_ARG_LIMIT</span></code>,
- the predefined maximum placeholder index. By default, <code class="computeroutput"><span class="identifier">PHOENIX_ARG_LIMIT</span></code> is set to <code class="computeroutput"><span class="identifier">PHOENIX_LIMIT</span></code> (See <a class="link" href="../../../../">Actor</a>).
+ the predefined maximum placeholder index. By default, <code class="computeroutput"><span class="identifier">PHOENIX_ARG_LIMIT</span></code> is set to <code class="computeroutput"><span class="identifier">PHOENIX_LIMIT</span></code> (See <a class="link" href="../../concepts/actor.html" title="Actor">Actor</a>).
             </p></td></tr>
 </table></div>
 <p>
- You see the use make_argument this is a convenience class wrapping the
- <code class="computeroutput"><span class="identifier">compose</span></code> class:
+ You see the use of make_argument this is a convenience class wrapping
+ the <code class="computeroutput"><span class="identifier">compose</span></code> class:
           </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">&gt;</span>
 <span class="keyword">struct</span> <span class="identifier">make_argument</span> <span class="special">:</span> <span class="identifier">compose</span><span class="special">&lt;</span><span class="identifier">argument</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span> <span class="special">{};</span>
 </pre>
 <p>
             This scheme of actor creation is used throughout the library and follows
- the DRY principle. See <a class="link" href="../../../../">Composites</a>
- for more details.
+ the DRY principle.
           </p>
-<a name="phoenix.reference.modules.core.arguments.user_defined_arguments"></a><h3>
-<a name="id687616"></a>
+<a name="phoenix.reference.modules.core.arguments.user_defined_arguments"></a><h6>
+<a name="id690175"></a>
             <a class="link" href="arguments.html#phoenix.reference.modules.core.arguments.user_defined_arguments">User
             Defined Arguments</a>
- </h3>
+ </h6>
 <p>
             When appropriate, you can define your own <code class="computeroutput"><span class="identifier">argument</span></code>
             names. For example:
@@ -113,16 +111,16 @@
             </p>
 <p>
               This is possible by supplying a custom <code class="computeroutput"><span class="identifier">actor</span></code>
- which has a member generator function. See <a class="link" href="../../../../">Extending
+ which has a member generator function. See <a class="link" href="../../../advanced_topics/extending_actors.html" title="Extending Actors">Extending
               Actors</a> for more details.
             </p>
 </td></tr>
 </table></div>
-<a name="phoenix.reference.modules.core.arguments.evaluating_an_argument"></a><h3>
-<a name="id687843"></a>
+<a name="phoenix.reference.modules.core.arguments.evaluating_an_argument"></a><h6>
+<a name="id690400"></a>
             <a class="link" href="arguments.html#phoenix.reference.modules.core.arguments.evaluating_an_argument">Evaluating
             an Argument</a>
- </h3>
+ </h6>
 <p>
             An argument, when evaluated, selects the Nth argument from the those
             passed in by the client.
@@ -145,11 +143,11 @@
 <span class="number">123</span>
 <span class="identifier">Hello</span> <span class="identifier">World</span>
 </pre>
-<a name="phoenix.reference.modules.core.arguments.extra_arguments"></a><h3>
-<a name="id688172"></a>
+<a name="phoenix.reference.modules.core.arguments.extra_arguments"></a><h6>
+<a name="id690729"></a>
             <a class="link" href="arguments.html#phoenix.reference.modules.core.arguments.extra_arguments">Extra
             Arguments</a>
- </h3>
+ </h6>
 <p>
             In C and C++, a function can have extra arguments that are not at all
             used by the function body itself. These extra arguments are simply ignored.

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/constant_references.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/constant_references.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/constant_references.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -23,9 +23,8 @@
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Another free function <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span></code> may also be used. <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span></code> creates an <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;&gt;</span></code>
- object. This is similar to <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span></code> but when the data to be passed as
- argument to a function is heavy and expensive to copy by value, the
+ Another free function <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span></code> may also be used. <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span></code> creates an <code class="computeroutput"><span class="identifier">make_reference</span><span class="special">&lt;</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span></code> object. This is similar to <code class="computeroutput"><span class="identifier">make_value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code> but when the data to be passed
+ as argument to a function is heavy and expensive to copy by value, the
             <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span></code>
             offers a lighter alternative.
           </p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/nothing.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/nothing.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/nothing.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -22,10 +22,10 @@
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">nothing</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
- Finally, the <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">null_actor</span><span class="special">&gt;</span></code>
- does nothing; (a "bum", if you will :-). There's a sole <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">null_actor</span><span class="special">&gt;</span></code>
- instance named "nothing". This actor is actually useful in
- situations where we don't want to do anything. (See <a class="link" href="../statement/for__statement.html" title="for_ Statement">for_
+ Finally, the <code class="computeroutput"><span class="identifier">compose</span><span class="special">&lt;</span><span class="identifier">null_eval</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ does nothing; (a "bum", if you will :-). There's a sole <code class="computeroutput"><span class="identifier">compose</span><span class="special">&lt;</span><span class="identifier">null_eval</span><span class="special">&gt;::</span><span class="identifier">type</span></code> instance named "nothing".
+ This actor is actually useful in situations where we don't want to do
+ anything. (See <a class="link" href="../statement/for__statement.html" title="for_ Statement">for_
             Statement</a> for example).
           </p>
 </div>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/references.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/references.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/references.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -41,24 +41,25 @@
             <a class="link" href="values.html" title="Values">Values</a>).
             To achieve our intent, we use:
           </p>
-<pre class="programlisting"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;&gt;</span>
+<pre class="programlisting"><span class="identifier">make_reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
 </pre>
 <p>
- This is similar to <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span></code> above but instead holds a reference
- to a variable.
+ This is similar to <code class="computeroutput"><span class="identifier">make_value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ befor but instead holds a reference to a variable.
           </p>
 <p>
- We normally don't instantiate <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">reference</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span></code> objects directly. Instead we use
- <code class="computeroutput"><span class="identifier">ref</span></code>. For example (where
- <code class="computeroutput"><span class="identifier">i</span></code> is an <code class="computeroutput"><span class="keyword">int</span></code> variable):
+ We normally don't instantiate <code class="computeroutput"><span class="identifier">make_reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ objects directly. Instead we use <code class="computeroutput"><span class="identifier">ref</span></code>.
+ For example (where <code class="computeroutput"><span class="identifier">i</span></code>
+ is an <code class="computeroutput"><span class="keyword">int</span></code> variable):
           </p>
 <pre class="programlisting"><span class="identifier">add_assign</span><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">),</span> <span class="number">2</span><span class="special">)</span>
 </pre>
-<a name="phoenix.reference.modules.core.references.evaluating_a_reference"></a><h3>
-<a name="id686311"></a>
+<a name="phoenix.reference.modules.core.references.evaluating_a_reference"></a><h6>
+<a name="id688898"></a>
             <a class="link" href="references.html#phoenix.reference.modules.core.references.evaluating_a_reference">Evaluating
             a Reference</a>
- </h3>
+ </h6>
 <p>
             References are actors. Hence, references can be evaluated. Such invocation
             gives the references's identity. Example:

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/values.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/values.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/core/values.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -24,7 +24,7 @@
 <p>
             Whenever we see a constant in a partially applied function, an
           </p>
-<pre class="programlisting"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">make_value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
 </pre>
 <p>
             (where T is the type of the constant) is automatically created for us.
@@ -34,21 +34,21 @@
 </pre>
 <p>
             Passing a second argument, <code class="computeroutput"><span class="number">6</span></code>,
- an <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">value</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;</span></code>
- is implicitly created behind the scenes. This is also equivalent to:
+ an <code class="computeroutput"><span class="identifier">make_value</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is implicitly created behind the
+ scenes. This is also equivalent to:
           </p>
 <pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">val</span><span class="special">(</span><span class="number">6</span><span class="special">))</span>
 </pre>
 <p>
             <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
- generates an <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">value</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span></code>
+ generates an <code class="computeroutput"><span class="identifier">make_value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
             where <code class="computeroutput"><span class="identifier">T</span></code> is the type of
             <code class="computeroutput"><span class="identifier">x</span></code>. In most cases, there's
             no need to explicitly use <code class="computeroutput"><span class="identifier">val</span></code>,
             but, as we'll see later on, there are situations where this is unavoidable.
           </p>
 <a name="phoenix.reference.modules.core.values.evaluating_a_value"></a><h3>
-<a name="id685793"></a>
+<a name="id688396"></a>
             <a class="link" href="values.html#phoenix.reference.modules.core.values.evaluating_a_value">Evaluating
             a Value</a>
           </h3>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/function.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/function.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/function.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -93,7 +93,7 @@
 <p>
           Invoking a lazy function such as <code class="computeroutput"><span class="identifier">factorial</span></code>
           does not immediately execute the function object <code class="computeroutput"><span class="identifier">factorial_impl</span></code>.
- Instead, an <a class="link" href="../../../"><code class="computeroutput"><span class="identifier">actor</span></code></a>
+ Instead, an <a class="link" href="../concepts/actor.html" title="Actor">actor</a>
           object is created and returned to the caller. Example:
         </p>
 <pre class="programlisting"><span class="identifier">factorial</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/construction.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/construction.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/construction.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -53,7 +53,7 @@
               constant PHOENIX_COMPOSITE_LIMIT. Note though, that this limit should
               not be greater than PHOENIX_LIMIT. By default, <code class="computeroutput"><span class="identifier">PHOENIX_COMPOSITE_LIMIT</span></code>
               is set to <code class="computeroutput"><span class="identifier">PHOENIX_LIMIT</span></code>
- (See <a class="link" href="../../../../">Actor</a>).
+ (See <a class="link" href="../../concepts/actor.html" title="Actor">Actor</a>).
             </p></td></tr>
 </table></div>
 </div>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/new.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/new.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/object/new.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -53,7 +53,7 @@
               constant PHOENIX_COMPOSITE_LIMIT. Note though, that this limit should
               not be greater than PHOENIX_LIMIT. By default, <code class="computeroutput"><span class="identifier">PHOENIX_COMPOSITE_LIMIT</span></code>
               is set to <code class="computeroutput"><span class="identifier">PHOENIX_LIMIT</span></code>
- (See <a class="link" href="../../../../">Actor</a>).
+ (See <a class="link" href="../../concepts/actor.html" title="Actor">Actor</a>).
             </p></td></tr>
 </table></div>
 </div>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -7,18 +7,20 @@
 <link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
 <link rel="prev" href="function.html" title="Function">
-<link rel="next" href="statement.html" title="Statement">
+<link rel="next" href="operator/supported_operators.html" title="Supported operators">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="function.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="statement.html"><img src="../../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="function.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="operator/supported_operators.html"><img src="../../../images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="phoenix.reference.modules.operator"></a><a class="link" href="operator.html" title="Operator">Operator</a>
 </h4></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="operator/supported_operators.html">Supported
+ operators</a></span></dt></dl></div>
 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
@@ -33,10 +35,11 @@
 <span class="identifier">arg1</span> <span class="special">&lt;</span> <span class="number">150</span>
 </pre>
 <p>
- We have seen the lazy operators in action (see <a class="link" href="../../../">Quick
- Start</a>). Let's go back and examine them a little bit further:
+ We have seen the lazy operators in action (see <a class="link" href="../../starter_kit/composites/lazy_operators.html" title="Lazy Operators">Quick
+ Start - Lazy Operators</a>). Let's go back and examine them a little
+ bit further:
         </p>
-<pre class="programlisting"><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
 </pre>
 <p>
           Through operator overloading, the expression <code class="computeroutput"><span class="identifier">arg1</span>
@@ -51,9 +54,10 @@
           arg1 is replaced by the container's element.
         </p>
 <p>
- Like lazy functions (see <a class="link" href="function.html" title="Function"><code class="computeroutput"><span class="identifier">function</span></code></a>), lazy operators are
- not immediately executed when invoked. Instead, an actor (see <a class="link" href="../../../">actor</a>)
- object is created and returned to the caller. Example:
+ Like lazy functions (see <a class="link" href="function.html" title="Function">Function</a>),
+ lazy operators are not immediately executed when invoked. Instead, an actor
+ (see <a class="link" href="../concepts/actor.html" title="Actor">Actor</a>) object
+ is created and returned to the caller. Example:
         </p>
 <pre class="programlisting"><span class="special">(</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">arg3</span>
 </pre>
@@ -73,7 +77,7 @@
 <li class="listitem">
               A binary operator, except <code class="computeroutput"><span class="special">-&gt;*</span></code>
               will be lazily evaluated when <span class="emphasis"><em>at least</em></span> one of
- its operands is an actor object (see <a class="link" href="../../../">actors</a>).
+ its operands is an actor object (see <a class="link" href="../concepts/actor.html" title="Actor">Actor</a>).
             </li>
 <li class="listitem">
               Unary operators are lazily evaluated if their argument is an actor
@@ -134,91 +138,12 @@
           expression, we can use <code class="computeroutput"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>,
           <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> or
           <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> to
- transform an operand into a valid actor object (see <a class="link" href="core.html" title="Core">Core</a>.
+ transform an operand into a valid actor object (see <a class="link" href="core.html" title="Core">Core</a>).
           For example:
         </p>
 <pre class="programlisting"><span class="number">1</span> <span class="special">&lt;&lt;</span> <span class="number">3</span><span class="special">;</span> <span class="comment">// Immediately evaluated
 </span><span class="identifier">val</span><span class="special">(</span><span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="number">3</span><span class="special">;</span> <span class="comment">// Lazily evaluated
 </span></pre>
-<a name="phoenix.reference.modules.operator.supported_operators"></a><h3>
-<a name="id690521"></a>
- <a class="link" href="operator.html#phoenix.reference.modules.operator.supported_operators">Supported
- operators</a>
- </h3>
-<a name="phoenix.reference.modules.operator.unary_operators"></a><h4>
-<a name="id690540"></a>
- <a class="link" href="operator.html#phoenix.reference.modules.operator.unary_operators">Unary
- operators</a>
- </h4>
-<pre class="programlisting"><span class="identifier">prefix</span><span class="special">:</span> <span class="special">~,</span> <span class="special">!,</span> <span class="special">-,</span> <span class="special">+,</span> <span class="special">++,</span> <span class="special">--,</span> <span class="special">&amp;</span> <span class="special">(</span><span class="identifier">reference</span><span class="special">),</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">dereference</span><span class="special">)</span>
-<span class="identifier">postfix</span><span class="special">:</span> <span class="special">++,</span> <span class="special">--</span>
-</pre>
-<a name="phoenix.reference.modules.operator.binary_operators"></a><h4>
-<a name="id690670"></a>
- <a class="link" href="operator.html#phoenix.reference.modules.operator.binary_operators">Binary
- operators</a>
- </h4>
-<pre class="programlisting"><span class="special">=,</span> <span class="special">[],</span> <span class="special">+=,</span> <span class="special">-=,</span> <span class="special">*=,</span> <span class="special">/=,</span> <span class="special">%=,</span> <span class="special">&amp;=,</span> <span class="special">|=,</span> <span class="special">^=,</span> <span class="special">&lt;&lt;=,</span> <span class="special">&gt;&gt;=</span>
-<span class="special">+,</span> <span class="special">-,</span> <span class="special">*,</span> <span class="special">/,</span> <span class="special">%,</span> <span class="special">&amp;,</span> <span class="special">|,</span> <span class="special">^,</span> <span class="special">&lt;&lt;,</span> <span class="special">&gt;&gt;</span>
-<span class="special">==,</span> <span class="special">!=,</span> <span class="special">&lt;,</span> <span class="special">&gt;,</span> <span class="special">&lt;=,</span> <span class="special">&gt;=</span>
-<span class="special">&amp;&amp;,</span> <span class="special">||,</span> <span class="special">-&gt;*</span>
-</pre>
-<a name="phoenix.reference.modules.operator.ternary_operator"></a><h4>
-<a name="id690873"></a>
- <a class="link" href="operator.html#phoenix.reference.modules.operator.ternary_operator">Ternary
- operator</a>
- </h4>
-<pre class="programlisting"><span class="identifier">if_else</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span>
-</pre>
-<p>
- The ternary operator deserves special mention. Since C++ does not allow
- us to overload the conditional expression: <code class="computeroutput"><span class="identifier">c</span>
- <span class="special">?</span> <span class="identifier">a</span>
- <span class="special">:</span> <span class="identifier">b</span></code>,
- the if_else pseudo function is provided for this purpose. The behavior
- is identical, albeit in a lazy manner.
- </p>
-<a name="phoenix.reference.modules.operator.member_pointer_operator"></a><h4>
-<a name="id690974"></a>
- <a class="link" href="operator.html#phoenix.reference.modules.operator.member_pointer_operator">Member
- pointer operator</a>
- </h4>
-<pre class="programlisting"><span class="identifier">a</span><span class="special">-&gt;*</span><span class="identifier">member_object_pointer</span>
-<span class="identifier">a</span><span class="special">-&gt;*</span><span class="identifier">member_function_pointer</span>
-</pre>
-<p>
- The left hand side of the member pointer operator must be an actor returning
- a pointer type. The right hand side of the member pointer operator may
- be either a pointer to member object or pointer to member function.
- </p>
-<p>
- If the right hand side is a member object pointer, the result is an actor
- which, when evaluated, returns a reference to that member. For example:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span>
-<span class="special">{</span>
- <span class="keyword">int</span> <span class="identifier">member</span><span class="special">;</span>
-<span class="special">};</span>
-
-<span class="identifier">A</span><span class="special">*</span> <span class="identifier">a</span> <span class="special">=</span> <span class="keyword">new</span> <span class="identifier">A</span><span class="special">;</span>
-<span class="special">...</span>
-
-<span class="special">(</span><span class="identifier">arg1</span><span class="special">-&gt;*&amp;</span><span class="identifier">A</span><span class="special">::</span><span class="identifier">member</span><span class="special">)(</span><span class="identifier">a</span><span class="special">);</span> <span class="comment">// returns member a-&gt;member
-</span></pre>
-<p>
- If the right hand side is a member function pointer, the result is an actor
- which, when invoked, calls the specified member function. For example:
- </p>
-<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span>
-<span class="special">{</span>
- <span class="keyword">int</span> <span class="identifier">func</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span>
-<span class="special">};</span>
-
-<span class="identifier">A</span><span class="special">*</span> <span class="identifier">a</span> <span class="special">=</span> <span class="keyword">new</span> <span class="identifier">A</span><span class="special">;</span>
-<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
-
-<span class="special">(</span><span class="identifier">arg1</span><span class="special">-&gt;*&amp;</span><span class="identifier">A</span><span class="special">::</span><span class="identifier">func</span><span class="special">)(</span><span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">i</span><span class="special">);</span> <span class="comment">// returns a-&gt;func(i)
-</span></pre>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -230,7 +155,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="function.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="statement.html"><img src="../../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="function.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="operator/supported_operators.html"><img src="../../../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator/supported_operators.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/operator/supported_operators.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -0,0 +1,111 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Supported operators</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../operator.html" title="Operator">
+<link rel="prev" href="../operator.html" title="Operator">
+<link rel="next" href="../statement.html" title="Statement">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../statement.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.reference.modules.operator.supported_operators"></a><a class="link" href="supported_operators.html" title="Supported operators">Supported
+ operators</a>
+</h5></div></div></div>
+<a name="phoenix.reference.modules.operator.supported_operators.unary_operators"></a><h6>
+<a name="id693096"></a>
+ <a class="link" href="supported_operators.html#phoenix.reference.modules.operator.supported_operators.unary_operators">Unary
+ operators</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">prefix</span><span class="special">:</span> <span class="special">~,</span> <span class="special">!,</span> <span class="special">-,</span> <span class="special">+,</span> <span class="special">++,</span> <span class="special">--,</span> <span class="special">&amp;</span> <span class="special">(</span><span class="identifier">reference</span><span class="special">),</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">dereference</span><span class="special">)</span>
+<span class="identifier">postfix</span><span class="special">:</span> <span class="special">++,</span> <span class="special">--</span>
+</pre>
+<a name="phoenix.reference.modules.operator.supported_operators.binary_operators"></a><h6>
+<a name="id693227"></a>
+ <a class="link" href="supported_operators.html#phoenix.reference.modules.operator.supported_operators.binary_operators">Binary
+ operators</a>
+ </h6>
+<pre class="programlisting"><span class="special">=,</span> <span class="special">[],</span> <span class="special">+=,</span> <span class="special">-=,</span> <span class="special">*=,</span> <span class="special">/=,</span> <span class="special">%=,</span> <span class="special">&amp;=,</span> <span class="special">|=,</span> <span class="special">^=,</span> <span class="special">&lt;&lt;=,</span> <span class="special">&gt;&gt;=</span>
+<span class="special">+,</span> <span class="special">-,</span> <span class="special">*,</span> <span class="special">/,</span> <span class="special">%,</span> <span class="special">&amp;,</span> <span class="special">|,</span> <span class="special">^,</span> <span class="special">&lt;&lt;,</span> <span class="special">&gt;&gt;</span>
+<span class="special">==,</span> <span class="special">!=,</span> <span class="special">&lt;,</span> <span class="special">&gt;,</span> <span class="special">&lt;=,</span> <span class="special">&gt;=</span>
+<span class="special">&amp;&amp;,</span> <span class="special">||,</span> <span class="special">-&gt;*</span>
+</pre>
+<a name="phoenix.reference.modules.operator.supported_operators.ternary_operator"></a><h6>
+<a name="id693429"></a>
+ <a class="link" href="supported_operators.html#phoenix.reference.modules.operator.supported_operators.ternary_operator">Ternary
+ operator</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">if_else</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span>
+</pre>
+<p>
+ The ternary operator deserves special mention. Since C++ does not allow
+ us to overload the conditional expression: <code class="computeroutput"><span class="identifier">c</span>
+ <span class="special">?</span> <span class="identifier">a</span>
+ <span class="special">:</span> <span class="identifier">b</span></code>,
+ the if_else pseudo function is provided for this purpose. The behavior
+ is identical, albeit in a lazy manner.
+ </p>
+<a name="phoenix.reference.modules.operator.supported_operators.member_pointer_operator"></a><h6>
+<a name="id693532"></a>
+ <a class="link" href="supported_operators.html#phoenix.reference.modules.operator.supported_operators.member_pointer_operator">Member
+ pointer operator</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">-&gt;*</span><span class="identifier">member_object_pointer</span>
+<span class="identifier">a</span><span class="special">-&gt;*</span><span class="identifier">member_function_pointer</span>
+</pre>
+<p>
+ The left hand side of the member pointer operator must be an actor returning
+ a pointer type. The right hand side of the member pointer operator may
+ be either a pointer to member object or pointer to member function.
+ </p>
+<p>
+ If the right hand side is a member object pointer, the result is an actor
+ which, when evaluated, returns a reference to that member. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">member</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="identifier">A</span><span class="special">*</span> <span class="identifier">a</span> <span class="special">=</span> <span class="keyword">new</span> <span class="identifier">A</span><span class="special">;</span>
+<span class="special">...</span>
+
+<span class="special">(</span><span class="identifier">arg1</span><span class="special">-&gt;*&amp;</span><span class="identifier">A</span><span class="special">::</span><span class="identifier">member</span><span class="special">)(</span><span class="identifier">a</span><span class="special">);</span> <span class="comment">// returns member a-&gt;member
+</span></pre>
+<p>
+ If the right hand side is a member function pointer, the result is an
+ actor which, when invoked, calls the specified member function. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">func</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="identifier">A</span><span class="special">*</span> <span class="identifier">a</span> <span class="special">=</span> <span class="keyword">new</span> <span class="identifier">A</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+
+<span class="special">(</span><span class="identifier">arg1</span><span class="special">-&gt;*&amp;</span><span class="identifier">A</span><span class="special">::</span><span class="identifier">func</span><span class="special">)(</span><span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">i</span><span class="special">);</span> <span class="comment">// returns a-&gt;func(i)
+</span></pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../operator.html"><img src="../../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../operator.html"><img src="../../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../images/home.png" alt="Home"></a><a accesskey="n" href="../statement.html"><img src="../../../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/lambda.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/lambda.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/lambda.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -169,7 +169,7 @@
             Hence: _a = arg2. This local variable is visible inside the lambda scope.
           </p>
 <p>
- (See lambda.cpp)
+ (See lambda.cpp)
           </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/local_variables.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/local_variables.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/scope/local_variables.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -25,7 +25,7 @@
 <p>
             We use an instance of:
           </p>
-<pre class="programlisting"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+<pre class="programlisting"><span class="identifier">make_local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span>
 </pre>
 <p>
             to represent a local variable. The local variable acts as an imaginary
@@ -33,13 +33,13 @@
             to identify the local variable. Example:
           </p>
 <pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">size_key</span><span class="special">;</span>
-<span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">size_key</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">size</span><span class="special">;</span>
+<span class="identifier">make_local_variable</span><span class="special">&lt;</span><span class="identifier">size_key</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">size</span><span class="special">;</span>
 </pre>
 <p>
             <span class="bold"><strong>Predefined Local Variables</strong></span>
           </p>
 <p>
- There are a few predefined instances of <code class="computeroutput"><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>
+ There are a few predefined instances of <code class="computeroutput"><span class="identifier">make_local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
             named <code class="computeroutput"><span class="identifier">_a</span></code>..<code class="computeroutput"><span class="identifier">_z</span></code> that you can already use. To make
             use of them, simply use the <code class="computeroutput"><span class="keyword">namespace</span>
             <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">local_names</span></code>:

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -6,14 +6,14 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
 <link rel="up" href="../modules.html" title="Modules">
-<link rel="prev" href="operator.html" title="Operator">
+<link rel="prev" href="operator/supported_operators.html" title="Supported operators">
 <link rel="next" href="statement/block_statement.html" title="Block Statement">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="operator.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="statement/block_statement.html"><img src="../../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="operator/supported_operators.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="statement/block_statement.html"><img src="../../../images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h4 class="title">
@@ -41,13 +41,13 @@
         </p>
 <p>
           The primitives and composite building blocks presented so far are sufficiently
- powerful to construct quite elaborate structures. We have presented lazy-
- functions and lazy-operators. How about lazy-statements? First, an appetizer:
+ powerful to construct quite elaborate structures. We have presented lazy-functions
+ and lazy-operators. How about lazy-statements? First, an appetizer:
         </p>
 <p>
- Print all odd-numbered contents of an STL container using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code> (all_odds.cpp):
+ Print all odd-numbered contents of an STL container using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code> (all_odds.cpp):
         </p>
-<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
     <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
     <span class="special">[</span>
         <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span>
@@ -103,7 +103,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="operator.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="statement/block_statement.html"><img src="../../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="operator/supported_operators.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="statement/block_statement.html"><img src="../../../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___do_while_____statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___do_while_____statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___do_while_____statement.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -38,7 +38,7 @@
             Example: This code is almost the same as the previous example above with
             a slight twist in logic.
           </p>
-<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
     <span class="special">(</span>
         <span class="identifier">do_</span>
         <span class="special">[</span>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___if_else_____statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___if_else_____statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/___if_else_____statement.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -42,7 +42,7 @@
             == 5"</span></code> or <code class="computeroutput"><span class="string">" &lt;
             5"</span></code> depending on the element's actual value:
           </p>
-<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
     <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">&gt;</span> <span class="number">5</span><span class="special">)</span>
     <span class="special">[</span>
         <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">" &gt; 5\n"</span>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/block_statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/block_statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/block_statement.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -55,7 +55,7 @@
             Outside the square brackets, block statements should be grouped. For
             example:
           </p>
-<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
     <span class="special">(</span>
         <span class="identifier">do_this</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">),</span>
         <span class="identifier">do_that</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/for__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/for__statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/for__statement.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -41,7 +41,7 @@
             value. A newline terminates the printout of each value.
           </p>
 <pre class="programlisting"><span class="keyword">int</span> <span class="identifier">iii</span><span class="special">;</span>
-<span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</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">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
     <span class="special">(</span>
         <span class="identifier">for_</span><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">iii</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">iii</span><span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="special">++</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">iii</span><span class="special">))</span>
         <span class="special">[</span>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/switch__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/switch__statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/switch__statement.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -41,7 +41,7 @@
             <code class="computeroutput"><span class="string">"two"</span></code> or <code class="computeroutput"><span class="string">"other value"</span></code> depending on the
             element's actual value:
           </p>
-<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
     <span class="identifier">switch_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
     <span class="special">[</span>
         <span class="identifier">case_</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"one"</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">),</span>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/while__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/while__statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/statement/while__statement.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -35,7 +35,7 @@
             prints out the number at each step. A newline terminates the printout
             of each value.
           </p>
-<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
     <span class="special">(</span>
         <span class="identifier">while_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">--)</span>
         <span class="special">[</span>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/algorithm.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/algorithm.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/algorithm.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -73,7 +73,7 @@
           </p>
 </div>
 <div class="table">
-<a name="id704114"></a><p class="title"><b>Table&#160;1.6.&#160;Iteration Algorithms</b></p>
+<a name="id706701"></a><p class="title"><b>Table&#160;1.6.&#160;Iteration Algorithms</b></p>
 <div class="table-contents"><table class="table" summary="Iteration Algorithms">
 <colgroup>
 <col>
@@ -123,7 +123,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id704392"></a><p class="title"><b>Table&#160;1.7.&#160;Querying Algorithms</b></p>
+<a name="id706979"></a><p class="title"><b>Table&#160;1.7.&#160;Querying Algorithms</b></p>
 <div class="table-contents"><table class="table" summary="Querying Algorithms">
 <colgroup>
 <col>
@@ -415,7 +415,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id706863"></a><p class="title"><b>Table&#160;1.8.&#160;Transformation Algorithms</b></p>
+<a name="id709451"></a><p class="title"><b>Table&#160;1.8.&#160;Transformation Algorithms</b></p>
 <div class="table-contents"><table class="table" summary="Transformation Algorithms">
 <colgroup>
 <col>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/container.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/container.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/modules/stl/container.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -137,7 +137,7 @@
             does not use the member "dot" syntax.
           </p>
 <div class="table">
-<a name="id701063"></a><p class="title"><b>Table&#160;1.4.&#160;Sample usage</b></p>
+<a name="id703650"></a><p class="title"><b>Table&#160;1.4.&#160;Sample usage</b></p>
 <div class="table-contents"><table class="table" summary="Sample usage">
 <colgroup>
 <col>
@@ -215,7 +215,7 @@
           </p>
 </div>
 <div class="table">
-<a name="id701403"></a><p class="title"><b>Table&#160;1.5.&#160;Lazy STL Container Functions</b></p>
+<a name="id703990"></a><p class="title"><b>Table&#160;1.5.&#160;Lazy STL Container Functions</b></p>
 <div class="table-contents"><table class="table" summary="Lazy STL Container Functions">
 <colgroup>
 <col>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/organization.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/organization.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/organization.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -41,7 +41,7 @@
         header files. There are no object files to link against.
       </p>
 <a name="phoenix.reference.organization.core"></a><h3>
-<a name="id681617"></a>
+<a name="id683289"></a>
         <a class="link" href="organization.html#phoenix.reference.organization.core">Core</a>
       </h3>
 <p>
@@ -70,7 +70,7 @@
         can again be another composite.
       </p>
 <div class="table">
-<a name="id681676"></a><p class="title"><b>Table&#160;1.2.&#160;Modules</b></p>
+<a name="id683349"></a><p class="title"><b>Table&#160;1.2.&#160;Modules</b></p>
 <div class="table-contents"><table class="table" summary="Modules">
 <colgroup>
 <col>
@@ -199,7 +199,7 @@
         the core module is defined in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
       </p>
 <div class="table">
-<a name="id681965"></a><p class="title"><b>Table&#160;1.3.&#160;Includes</b></p>
+<a name="id683637"></a><p class="title"><b>Table&#160;1.3.&#160;Includes</b></p>
 <div class="table-contents"><table class="table" summary="Includes">
 <colgroup>
 <col>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -61,7 +61,7 @@
       into high gear quickly.
     </p>
 <a name="phoenix.starter_kit.functors_everywhere"></a><h4>
-<a name="id672922"></a>
+<a name="id674595"></a>
       <a class="link" href="starter_kit.html#phoenix.starter_kit.functors_everywhere">Functors everywhere</a>
     </h4>
 <p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -46,7 +46,7 @@
 <span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">is_odd_impl</span><span class="special">&gt;</span> <span class="identifier">is_odd</span><span class="special">;</span>
 </pre>
 <a name="phoenix.starter_kit.composites.lazy_functions.things_to_note_"></a><h6>
-<a name="id675750"></a>
+<a name="id677423"></a>
           <a class="link" href="lazy_functions.html#phoenix.starter_kit.composites.lazy_functions.things_to_note_">Things
           to note:</a>
         </h6>
@@ -77,7 +77,7 @@
           (See function.cpp)
         </p>
 <a name="phoenix.starter_kit.composites.lazy_functions.predefined_lazy_functions"></a><h6>
-<a name="id675929"></a>
+<a name="id677601"></a>
           <a class="link" href="lazy_functions.html#phoenix.starter_kit.composites.lazy_functions.predefined_lazy_functions">Predefined
           Lazy Functions</a>
         </h6>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -70,7 +70,7 @@
         </p>
 </div>
 <a name="phoenix.starter_kit.composites.lazy_operators.first_practical_example"></a><h6>
-<a name="id674672"></a>
+<a name="id676345"></a>
           <a class="link" href="lazy_operators.html#phoenix.starter_kit.composites.lazy_operators.first_practical_example">First
           Practical Example</a>
         </h6>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -32,7 +32,7 @@
           World"</span></code>.
         </p>
 <a name="phoenix.starter_kit.primitives.values.lazy_evaluation"></a><h6>
-<a name="id673084"></a>
+<a name="id674757"></a>
           <a class="link" href="values.html#phoenix.starter_kit.primitives.values.lazy_evaluation">Lazy
           Evaluation</a>
         </h6>
@@ -65,7 +65,7 @@
           anything and defers the evaluation for later.
         </p>
 <a name="phoenix.starter_kit.primitives.values.callbacks"></a><h6>
-<a name="id673309"></a>
+<a name="id674982"></a>
           <a class="link" href="values.html#phoenix.starter_kit.primitives.values.callbacks">Callbacks</a>
         </h6>
 <p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -31,6 +31,7 @@
 phoenix/reference/modules/core/nothing.html
 phoenix/reference/modules/function.html
 phoenix/reference/modules/operator.html
+phoenix/reference/modules/operator/supported_operators.html
 phoenix/reference/modules/statement.html
 phoenix/reference/modules/statement/block_statement.html
 phoenix/reference/modules/statement/if__statement.html

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/bind.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/bind.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/bind.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -10,7 +10,7 @@
 [section Bind]
 
 ['Binding] is the act of tying together a function to some arguments for
-deferred (lazy) evaluation. Named [link phoenix.reference.modules.function Lazy functions]
+deferred (lazy) evaluation. Named [link phoenix.reference.modules.function lazy functions]
 require a bit of typing. Unlike (unnamed) lambda expressions, we need to write a
 functor somewhere offline, detached from the call site. If you wish to transform a
 plain function, member function or member variable to a lambda expression, `bind`
@@ -18,12 +18,13 @@
 
 [note Take note that binders are monomorphic. Rather than binding
 functions, the preferred way is to write true generic and polymorphic [link
-phoenix.reference.modules.function lazy-functions]. However, since most of the time we
+phoenix.reference.modules.function lazy functions]. However, since most of the time we
 are dealing with adaptation of existing code, binders get the job done faster.]
 
 There is a set of overloaded `bind` template functions. Each `bind(x)`
-function generates a suitable binder object, a [link phoenix.reference.composite
-composite].
+function generates a suitable binder object.
+[/, a [link phoenix.reference.composite
+composite].]
 
 [section Binding Functions]
 
@@ -40,7 +41,7 @@
 
     bind(&foo, arg1)
 
-This is now a full-fledged [link phoenix.reference.composite composite] that can finally
+This is now a full-fledged composite that can finally
 be evaluated by another function call invocation. A second function call will
 invoke the actual `foo` function. Example:
 

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/actor.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/actor.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/actor.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -60,9 +60,9 @@
 
 [heading Models]
 
-* [link phoenix.reference.modules.core.actor `boost::phoenix::actor`]
-* [link phoenix.reference.modules.statement.if__statement `boost::phoenix::if_`]
-* [link phoenix.reference.modules.statement.try__catch__statement `boost::phoenix::try_`]
+* `boost::phoenix::actor`
+* `boost::phoenix::if_`
+* `boost::phoenix::try_`
 
 [endsect]
 

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/environment.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/environment.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/environment.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -48,8 +48,8 @@
 
 [heading Models]
 
-* [link phoenix.reference.modules.core.basic_environment `boost::phoenix::basic_environment`]
-* [link phoenix.reference.modules.scope.scope_environment `boost::phoenix::scoped_environment`]
+* `boost::phoenix::basic_environment`
+* `boost::phoenix::scoped_environment`
 
 [endsect]
 

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/evaluation_policy.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/evaluation_policy.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/evaluation_policy.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -12,13 +12,14 @@
 [heading Description]
 
 Evaluation Policies are the classes which decide how the composite is to be evaluated with respect to the default evaluator.
+They are completly independent of the [link phoenix.reference.concepts.actor Actor].
 
 [variablelist Notation
    [[`F`] [Type fulfilling this concept]]
         [[`f`] [Object of type F]]
- [[`Env`] [A type of __phoenix_concept_environment__]]
+ [[`Env`] [Type fulfilling the [link phoenix.reference.concepts.environment Environment concept]]]
         [[`env`] [Object of type Env]]
- [[`A0...AN`] [Argument Types]]
+ [[`A0...AN`] [Types fulfilling the [link phoenix.reference.concepts.actor Actor Concept]]]
         [[`a0...aN`] [Objects of type A0, ...AN]]
 ]
 
@@ -32,7 +33,7 @@
 [heading Result Type Expressions]
 [table
         [[Expression] [Result Type] [Compile time Complexity]]
- [[`boost::result_of<F(Env, A0...AN)>::type|`] [Result of evaluation] [unspecified]]
+ [[`boost::result_of<F(Env, A0...AN)>::type|`] [Result of the evaluation] [unspecified]]
 ]
 
 [heading Expression Semantics]
@@ -44,6 +45,29 @@
 
 [heading Models]
 
-TODO (almost everything)
+* `boost::phoenix::value`
+* `boost::phoenix::reference`
+* `boost::phoenix::argument`
+* `boost::phoenix::null_eval`
+* `boost::phoenix::if_eval`
+* `boost::phoenix::if_else_eval`
+* `boost::phoenix::switch_eval`
+* `boost::phoenix::while_eval`
+* `boost::phoenix::do_while_eval`
+* `boost::phoenix::for_eval`
+* `boost::phoenix::try_catch_eval`
+* `boost::phoenix::try_catch_all_eval`
+* `boost::phoenix::throw_eval`
+* `boost::phoenix::construct_eval`
+* `boost::phoenix::new_eval`
+* `boost::phoenix::delete_eval`
+* `boost::phoenix::static_cast_eval`
+* `boost::phoenix::dynamic_cast_eval`
+* `boost::phoenix::reinterpret_cast_eval`
+* `boost::phoenix::const_cast_eval`
+* `boost::phoenix::local_variable`
+* `boost::phoenix::let_eval`
+* `boost::phoenix::lambda_eval`
+* `boost::phoenix::lambda_actor_eval`
 
 [endsect]

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/evaluator.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/evaluator.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/concepts/evaluator.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -21,9 +21,9 @@
 [variablelist Notation
         [[`Eval`] [Type fulfilling this concept]]
         [[`eval`] [An object of type Eval]]
- [[`Expr`] [Type of the Actor Concept]]
+ [[`Expr`] [Type of the [link phoenix.reference.concepts.actor Actor Concept]]]
         [[`expr`] [Object of type Expr]]
- [[`Env`] [Type fulfilling the Environment concept]]
+ [[`Env`] [Type fulfilling the [link phoenix.reference.concepts.environment Environment concept]]]
         [[`env`] [Object of type Env]]
 ]
 
@@ -49,10 +49,10 @@
 
 [heading Models]
 
-* eval_grammar
-* arity
-* no_nullary
-* switch_grammar
+* `boost::phoenix::eval_grammar`
+* `boost::phoenix::arity`
+* `boost::phoenix::no_nullary`
+* `boost::phoenix::switch_grammar`
 
 [endsect]
 

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/core.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/core.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/core.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -23,19 +23,19 @@
 
 Whenever we see a constant in a partially applied function, an
 
- actor<value, T>
+ make_value<T>::type
 
 (where T is the type of the constant) is automatically created for
 us. For instance:
 
     add(arg1, 6)
 
-Passing a second argument, `6`, an `actor<value, int>` is implicitly created
+Passing a second argument, `6`, an `make_value<int>::type` is implicitly created
 behind the scenes. This is also equivalent to:
 
     add(arg1, val(6))
 
-`val(x)` generates an `actor<value, T>` where `T` is the type of `x`. In most
+`val(x)` generates an `make_value<T>::type` where `T` is the type of `x`. In most
 cases, there's no need to explicitly use `val`, but, as we'll see later on,
 there are situations where this is unavoidable.
 
@@ -70,17 +70,17 @@
 applied functions functions to be immutable values (see [link phoenix.reference.modules.core.values
 Values]). To achieve our intent, we use:
 
- actor<reference, T&>
+ make_reference<T>::type
 
-This is similar to `actor<value, T>` above but instead holds a reference to a
+This is similar to `make_value<T>::type` befor but instead holds a reference to a
 variable.
 
-We normally don't instantiate `actor<reference, T>` objects directly. Instead we
+We normally don't instantiate `make_reference<T>::type` objects directly. Instead we
 use `ref`. For example (where `i` is an `int` variable):
 
     add_assign(ref(i), 2)
 
-[h2 Evaluating a Reference]
+[heading Evaluating a Reference]
 
 References are actors. Hence, references can be evaluated. Such invocation gives
 the references's identity. Example:
@@ -99,7 +99,7 @@
     #include <boost/phoenix/core/reference.hpp>
 
 Another free function `cref(cv)` may also be used. `cref(cv)` creates an
-`actor<reference, T const&>` object. This is similar to `actor<value, T>` but
+`make_reference<T const>::type` object. This is similar to `make_value<T>::type` but
 when the data to be passed as argument to a function is heavy and expensive to
 copy by value, the `cref(cv)` offers a lighter alternative.
 
@@ -111,14 +111,14 @@
 
 We use an instance of:
 
- actor<argument, mpl::int_<N> >
+ make_argument< mpl::int_<N> >::type
 
 to represent the Nth function argument. The argument placeholder acts as an
 imaginary data-bin where a function argument will be placed.
 
-[h2 Predefined Arguments]
+[heading Predefined Arguments]
 
-There are a few predefined instances of `actor<argument, mpl::int_<N> >` named
+There are a few predefined instances of `make_argument< mpl::int_<N> >::type` named
 `arg1`..`argN`, and its __bll__ counterpart `_1`..`_N`. (where N is a predefined
 maximum).
 
@@ -136,17 +136,16 @@
 
 [note You can set `PHOENIX_ARG_LIMIT`, the predefined maximum
 placeholder index. By default, `PHOENIX_ARG_LIMIT` is set to `PHOENIX_LIMIT`
-(See [link phoenix.reference.actor Actor]).]
+(See [link phoenix.reference.concepts.actor Actor]).]
 
-You see the use make_argument this is a convenience class wrapping the `compose` class:
+You see the use of make_argument this is a convenience class wrapping the `compose` class:
 
     template <typename N>
     struct make_argument : compose<argument, N> {};
 
 This scheme of actor creation is used throughout the library and follows the DRY principle.
-See [link phoenix.reference.composite Composites] for more details.
 
-[h2 User Defined Arguments]
+[heading User Defined Arguments]
 
 When appropriate, you can define your own `argument` names. For example:
 
@@ -165,11 +164,11 @@
 member functions on an `argument` actor.
 
 This is possible by supplying a custom `actor` which has a member
-generator function. See [link phoenix.advanced.extending.extending_actors Extending Actors]
+generator function. See [link phoenix.advanced_topics.extending_actors Extending Actors]
 for more details.
 ]
 
-[h2 Evaluating an Argument]
+[heading Evaluating an Argument]
 
 An argument, when evaluated, selects the Nth argument from the those passed
 in by the client.
@@ -190,7 +189,7 @@
     123
     Hello World
 
-[h2 Extra Arguments]
+[heading Extra Arguments]
 
 In C and C++, a function can have extra arguments that are not at all used by
 the function body itself. These extra arguments are simply ignored.
@@ -226,8 +225,8 @@
 
     #include <boost/phoenix/core/nothing.hpp>
 
-Finally, the `actor<null_actor>` does nothing; (a "bum", if you will :-).
-There's a sole `actor<null_actor>` instance named "nothing". This actor is
+Finally, the `compose<null_eval>::type` does nothing; (a "bum", if you will :-).
+There's a sole `compose<null_eval>::type` instance named "nothing". This actor is
 actually useful in situations where we don't want to do anything. (See
 [link phoenix.reference.modules.statement.for__statement for_ Statement] for example).
 

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/function.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/function.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/function.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -12,11 +12,13 @@
     #include <boost/phoenix/function.hpp>
 
 The `function` class template provides a mechanism for implementing lazily
-evaluated functions. Syntactically, a lazy function looks like an ordinary C/C++ function.
-The function call looks familiar and feels the same as ordinary C++ functions.
-However, unlike ordinary functions, the actual function execution is deferred.
+evaluated functions. Syntactically, a lazy function looks like an ordinary C/C++
+function. The function call looks familiar and feels the same as ordinary C++
+functions. However, unlike ordinary functions, the actual function execution is
+deferred.
 
-Unlike ordinary function pointers or functor objects that need to be explicitly bound through the bind function (see [link phoenix.reference.modules.bind Bind]),
+Unlike ordinary function pointers or functor objects that need to be explicitly
+bound through the bind function (see [link phoenix.reference.modules.bind Bind]),
 the argument types of these functions are automatically lazily bound.
 
 In order to create a lazy function, we need to implement a model of the
@@ -66,7 +68,7 @@
     function<factorial_impl> factorial;
 
 Invoking a lazy function such as `factorial` does not immediately execute the function
-object `factorial_impl`. Instead, an [link phoenix.reference.actor `actor`] object is
+object `factorial_impl`. Instead, an [link phoenix.reference.concepts.actor actor] object is
 created and returned to the caller. Example:
 
     factorial(arg1)

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/object.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/object.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/object.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -11,7 +11,7 @@
 The maximum number of actual parameters is limited by the
 preprocessor constant PHOENIX_COMPOSITE_LIMIT. Note though, that this limit
 should not be greater than PHOENIX_LIMIT. By default, `PHOENIX_COMPOSITE_LIMIT`
-is set to `PHOENIX_LIMIT` (See [link phoenix.reference.actor Actor]).
+is set to `PHOENIX_LIMIT` (See [link phoenix.reference.concepts.actor Actor]).
 ]
 
 [section Object]

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/operator.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/operator.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/operator.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -21,10 +21,10 @@
     1 / -arg1
     arg1 < 150
 
-We have seen the lazy operators in action (see [link phoenix.starter_kit.lazy_operators
-Quick Start]). Let's go back and examine them a little bit further:
+We have seen the lazy operators in action (see [link phoenix.starter_kit.composites.lazy_operators
+Quick Start - Lazy Operators]). Let's go back and examine them a little bit further:
 
- find_if(c.begin(), c.end(), arg1 % 2 == 1)
+ std::find_if(c.begin(), c.end(), arg1 % 2 == 1)
 
 Through operator overloading, the expression `arg1 % 2 == 1` actually generates
 an actor. This actor object is passed on to STL's `find_if` function. From
@@ -35,8 +35,8 @@
 `arg1 % 2 == 1` where arg1 is replaced by the container's element.
 
 Like lazy functions (see
-[link phoenix.reference.modules.function `function`]), lazy operators are not immediately executed
-when invoked. Instead, an actor (see [link phoenix.reference.actor actor])
+[link phoenix.reference.modules.function Function]), lazy operators are not immediately executed
+when invoked. Instead, an actor (see [link phoenix.reference.concepts.actor Actor])
 object is created and returned to the caller. Example:
 
     (arg1 + arg2) * arg3
@@ -52,7 +52,7 @@
 
 # A binary operator, except `->*` will be lazily evaluated when
   /at least/ one of its operands is an actor object
- (see [link phoenix.reference.actor actors]).
+ (see [link phoenix.reference.concepts.actor Actor]).
 # Unary operators are lazily evaluated if their argument is an actor object.
 # Operator `->*` is lazily evaluated if the left hand argument is an actor object.
 # The result of a lazy operator is an actor object that can in turn allow the
@@ -77,27 +77,27 @@
 Note that at least one operand of any operator must be a valid actor
 for lazy evaluation to take effect. To force lazy evaluation of an
 ordinary expression, we can use `ref(x)`, `val(x)` or `cref(x)` to
-transform an operand into a valid actor object (see [link phoenix.reference.modules.core Core].
+transform an operand into a valid actor object (see [link phoenix.reference.modules.core Core]).
 For example:
 
      1 << 3; // Immediately evaluated
      val(1) << 3; // Lazily evaluated
 
-[h2 Supported operators]
+[section Supported operators]
 
-[h3 Unary operators]
+[heading Unary operators]
 
     prefix: ~, !, -, +, ++, --, & (reference), * (dereference)
     postfix: ++, --
 
-[h3 Binary operators]
+[heading Binary operators]
 
     =, [], +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
     +, -, *, /, %, &, |, ^, <<, >>
     ==, !=, <, >, <=, >=
     &&, ||, ->*
 
-[h3 Ternary operator]
+[heading Ternary operator]
 
     if_else(c, a, b)
 
@@ -105,7 +105,7 @@
 overload the conditional expression: `c ? a : b`, the if_else pseudo function is
 provided for this purpose. The behavior is identical, albeit in a lazy manner.
 
-[h3 Member pointer operator]
+[heading Member pointer operator]
 
     a->*member_object_pointer
     a->*member_function_pointer
@@ -159,3 +159,5 @@
 
 [endsect]
 
+[endsect]
+

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/scope.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/scope.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/scope.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -30,18 +30,18 @@
 
 We use an instance of:
 
- actor<local_variable<Key> >
+ make_local_variable<Key>::type
 
 to represent a local variable. The local variable acts as an imaginary data-bin
 where a local, stack based data will be placed. `Key` is an arbitrary type that
 is used to identify the local variable. Example:
 
     struct size_key;
- actor<local_variable<size_key> > size;
+ make_local_variable<size_key>::type size;
 
 [*Predefined Local Variables]
 
-There are a few predefined instances of `actor<local_variable<Key> >`
+There are a few predefined instances of `make_local_variable<Key>::type`
 named `_a`..`_z` that you can already use. To make use of them, simply use the
 `namespace boost::phoenix::local_names`:
 
@@ -280,7 +280,7 @@
 argument: `arg2`. Hence: _a = arg2. This local variable is visible inside the
 lambda scope.
 
-(See [@../../example/users_manual/lambda.cpp lambda.cpp])
+(See [@../../example/lambda.cpp lambda.cpp])
 
 [endsect]
 

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/statement.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/statement.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/reference/statement.qbk 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -12,13 +12,13 @@
 [*/Lazy statements.../]
 
 The primitives and composite building blocks presented so far are sufficiently
-powerful to construct quite elaborate structures. We have presented lazy-
-functions and lazy-operators. How about lazy-statements? First, an appetizer:
+powerful to construct quite elaborate structures. We have presented lazy-functions
+and lazy-operators. How about lazy-statements? First, an appetizer:
 
 Print all odd-numbered contents of an STL container using `std::for_each`
-([@../../example/users_manual/all_odds.cpp all_odds.cpp]):
+([@../../example/all_odds.cpp all_odds.cpp]):
 
- for_each(c.begin(), c.end(),
+ std::for_each(c.begin(), c.end(),
         if_(arg1 % 2 == 1)
         [
             cout << arg1 << ' '
@@ -77,7 +77,7 @@
 
 Outside the square brackets, block statements should be grouped. For example:
 
- for_each(c.begin(), c.end(),
+ std::for_each(c.begin(), c.end(),
         (
             do_this(arg1),
             do_that(arg1)
@@ -125,7 +125,7 @@
 Example: This code prints out all the elements and appends `" > 5"`, `" == 5"`
 or `" < 5"` depending on the element's actual value:
 
- for_each(c.begin(), c.end(),
+ std::for_each(c.begin(), c.end(),
         if_(arg1 > 5)
         [
             cout << arg1 << " > 5\n"
@@ -168,7 +168,7 @@
 Example: This code prints out `"one"`, `"two"` or `"other value"` depending on the
 element's actual value:
 
- for_each(c.begin(), c.end(),
+ std::for_each(c.begin(), c.end(),
         switch_(arg1)
         [
             case_<1>(std::cout << val("one") << '\n'),
@@ -193,7 +193,7 @@
 Example: This code decrements each element until it reaches zero and prints out
 the number at each step. A newline terminates the printout of each value.
 
- for_each(c.begin(), c.end(),
+ std::for_each(c.begin(), c.end(),
         (
             while_(arg1--)
             [
@@ -223,7 +223,7 @@
 Example: This code is almost the same as the previous example above with a
 slight twist in logic.
 
- for_each(c.begin(), c.end(),
+ std::for_each(c.begin(), c.end(),
         (
             do_
             [
@@ -259,7 +259,7 @@
 newline terminates the printout of each value.
 
     int iii;
- for_each(c.begin(), c.end(),
+ std::for_each(c.begin(), c.end(),
         (
             for_(ref(iii) = 0, ref(iii) < arg1, ++ref(iii))
             [

Added: sandbox/SOC/2010/phoenix3/libs/phoenix/example/all_odds.cpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/example/all_odds.cpp 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -0,0 +1,35 @@
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#include <vector>
+#include <algorithm>
+#include <iostream>
+#include <boost/phoenix/core.hpp>
+#include <boost/phoenix/operator.hpp>
+#include <boost/phoenix/statement.hpp>
+
+int
+main()
+{
+ using boost::phoenix::if_;
+ using boost::phoenix::arg_names::arg1;
+
+ int init[] = { 2, 10, 4, 5, 1, 6, 8, 3, 9, 7 };
+ std::vector<int> c(init, init + 10);
+ typedef std::vector<int>::iterator iterator;
+
+ // Print all odd contents of an stl container c
+ std::for_each(c.begin(), c.end(),
+ if_(arg1 % 2 == 1)
+ [
+ std::cout << arg1 << ' '
+ ]
+ );
+
+ std::cout << std::endl;
+
+ return 0;
+}

Added: sandbox/SOC/2010/phoenix3/libs/phoenix/example/lambda.cpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/example/lambda.cpp 2010-08-16 13:52:36 EDT (Mon, 16 Aug 2010)
@@ -0,0 +1,73 @@
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#include <iostream>
+#include <algorithm>
+#include <vector>
+
+#include <boost/phoenix/scope.hpp>
+#include <boost/phoenix/core.hpp>
+#include <boost/phoenix/operator.hpp>
+#include <boost/phoenix/function.hpp>
+
+namespace lazy_stuff
+{
+ using boost::phoenix::function;
+
+ struct for_each_impl
+ {
+ typedef void result_type;
+
+ template <typename C, typename F>
+ void operator()(C& c, F f) const
+ {
+ std::for_each(c.begin(), c.end(), f);
+ }
+ };
+
+ function<for_each_impl> const for_each = for_each_impl();
+
+ struct push_back_impl
+ {
+ typedef void result_type;
+
+ template <typename C, typename T>
+ void operator()(C& c, T& x) const
+ {
+ c.push_back(x);
+ }
+ };
+
+ function<push_back_impl> const push_back = push_back_impl();
+}
+
+int
+main()
+{
+ {
+ using lazy_stuff::for_each;
+ using lazy_stuff::push_back;
+
+ using boost::phoenix::lambda;
+ using boost::phoenix::arg_names::arg1;
+ using boost::phoenix::arg_names::arg2;
+ using boost::phoenix::local_names::_a;
+
+ int x = 10;
+ std::vector<std::vector<int> > v(10);
+
+ for_each(arg1,
+ lambda(_a = arg2)
+ [
+ push_back(arg1, _a)
+ ]
+ )
+ (v, x);
+ }
+
+ 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