Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r68985 - in sandbox/SOC/2010/phoenix3/libs/phoenix/doc: . html html/phoenix html/phoenix/examples html/phoenix/inside html/phoenix/inside/expression html/phoenix/modules html/phoenix/modules/core html/phoenix/modules/stl html/phoenix/starter_kit inside
From: thom.heller_at_[hidden]
Date: 2011-02-18 04:01:51


Author: theller
Date: 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
New Revision: 68985
URL: http://svn.boost.org/trac/boost/changeset/68985

Log:
continued actions docs
Text files modified:
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html | 14 ++++----
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/basics.html | 10 +++---
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/examples/extending_actors.html | 8 ++--
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actions.html | 59 +++++++++++++++++++++++++++++++++++----
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actor.html | 18 ++++++------
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression.html | 4 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression.html | 10 +++---
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_ext.html | 10 +++---
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_ext_vararg.html | 10 +++---
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_vararg.html | 10 +++---
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/arguments.html | 8 ++--
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/references.html | 4 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/values.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/operator.html | 12 ++++----
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html | 6 ++--
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl/container.html | 4 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/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/lazy_functions.html | 4 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/values.html | 4 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/actions.qbk | 49 ++++++++++++++++++++++++++++----
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/phoenix3.qbk | 2 +
   23 files changed, 170 insertions(+), 88 deletions(-)

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 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -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="id608281"></a><p>
+<a name="id692863"></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>
@@ -128,7 +128,7 @@
 </dl>
 </div>
 <a name="phoenix.preface"></a><h2>
-<a name="id638978"></a>
+<a name="id723560"></a>
     <a class="link" href="index.html#phoenix.preface">Preface</a>
   </h2>
 <div class="blockquote"><blockquote class="blockquote"><p>
@@ -147,7 +147,7 @@
     <span class="inlinemediaobject"><img src="images/lambda_cpp.png" alt="lambda_cpp"></span>
   </p>
 <a name="phoenix.description"></a><h3>
-<a name="id607085"></a>
+<a name="id691667"></a>
     <a class="link" href="index.html#phoenix.description">Description</a>
   </h3>
 <p>
@@ -165,7 +165,7 @@
     library is organized in highly independent modules and layers.
   </p>
 <a name="phoenix.how_to_use_this_manual"></a><h3>
-<a name="id607132"></a>
+<a name="id691714"></a>
     <a class="link" href="index.html#phoenix.how_to_use_this_manual">How to use this manual</a>
   </h3>
 <p>
@@ -187,7 +187,7 @@
     icons precede some text to indicate:
   </p>
 <div class="table">
-<a name="id607166"></a><p class="title"><b>Table&#160;1.1.&#160;Icons</b></p>
+<a name="id691748"></a><p class="title"><b>Table&#160;1.1.&#160;Icons</b></p>
 <div class="table-contents"><table class="table" summary="Icons">
 <colgroup>
 <col>
@@ -276,12 +276,12 @@
   </p>
 </div>
 <a name="phoenix._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"></a><h3>
-<a name="id647935"></a>
+<a name="id732517"></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: February 18, 2011 at 08:35:57 GMT</small></p></td>
+<td align="left"><p><small>Last revised: February 18, 2011 at 09:00:33 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/basics.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/basics.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/basics.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -42,7 +42,7 @@
       </p></td></tr>
 </table></div>
 <a name="phoenix.basics.partial_function_application"></a><h4>
-<a name="id651321"></a>
+<a name="id735903"></a>
       <a class="link" href="basics.html#phoenix.basics.partial_function_application">Partial Function
       Application</a>
     </h4>
@@ -94,7 +94,7 @@
       black boxes anymore.
     </p>
 <a name="phoenix.basics.stl_and_higher_order_functions"></a><h4>
-<a name="id651536"></a>
+<a name="id736118"></a>
       <a class="link" href="basics.html#phoenix.basics.stl_and_higher_order_functions">STL and higher
       order functions</a>
     </h4>
@@ -126,7 +126,7 @@
       </p></td></tr>
 </table></div>
 <a name="phoenix.basics.lazy_evaluation"></a><h4>
-<a name="id651747"></a>
+<a name="id736329"></a>
       <a class="link" href="basics.html#phoenix.basics.lazy_evaluation">Lazy Evaluation</a>
     </h4>
 <p>
@@ -181,7 +181,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.basics.forwarding_function_problem"></a><h4>
-<a name="id652290"></a>
+<a name="id736872"></a>
       <a class="link" href="basics.html#phoenix.basics.forwarding_function_problem">Forwarding Function
       Problem</a>
     </h4>
@@ -222,7 +222,7 @@
       </p></td></tr>
 </table></div>
 <a name="phoenix.basics.polymorphic_functions"></a><h4>
-<a name="id652428"></a>
+<a name="id737010"></a>
       <a class="link" href="basics.html#phoenix.basics.polymorphic_functions">Polymorphic Functions</a>
     </h4>
 <p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/examples/extending_actors.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/examples/extending_actors.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/examples/extending_actors.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -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.examples.extending_actors.requirements"></a><h5>
-<a name="id690654"></a>
+<a name="id775865"></a>
         <a class="link" href="extending_actors.html#phoenix.examples.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.examples.extending_actors.defining_the_actor"></a><h5>
-<a name="id690968"></a>
+<a name="id776178"></a>
         <a class="link" href="extending_actors.html#phoenix.examples.extending_actors.defining_the_actor">Defining
         the actor</a>
       </h5>
@@ -174,7 +174,7 @@
 <span class="special">};</span>
 </pre>
 <a name="phoenix.examples.extending_actors.using_the_actor"></a><h5>
-<a name="id691853"></a>
+<a name="id777062"></a>
         <a class="link" href="extending_actors.html#phoenix.examples.extending_actors.using_the_actor">Using the
         actor</a>
       </h5>
@@ -231,7 +231,7 @@
         Wow, that was easy!
       </p>
 <a name="phoenix.examples.extending_actors.adding_life_to_the_actor"></a><h5>
-<a name="id692520"></a>
+<a name="id777729"></a>
         <a class="link" href="extending_actors.html#phoenix.examples.extending_actors.adding_life_to_the_actor">Adding
         life to the actor</a>
       </h5>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actions.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actions.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -21,7 +21,7 @@
 </h3></div></div></div>
 <p>
         As you know from the <a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
- section, Actions are what brings live to a Phoenix expression tree.
+ section, Actions are what brings life to a Phoenix expression tree.
       </p>
 <p>
         When dealing with a Phoenix expression tree, it gets evaluated top-down.
@@ -30,7 +30,7 @@
 <pre class="programlisting"><span class="identifier">_1</span> <span class="special">+</span> <span class="number">3</span> <span class="special">*</span> <span class="identifier">_2</span>
 </pre>
 <p>
- Can be visualized in an AST as following:
+ Can be visualized as an AST in the following way:
       </p>
 <p>
         <span class="inlinemediaobject"><img src="../../images/simple_ast.png" alt="simple_ast"></span>
@@ -40,14 +40,14 @@
       </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
- rule::plus is matched
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span></code> is matched
           </li>
 <li class="listitem">
 <p class="simpara">
             evaluate left:
           </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
- rule::placeholder is matched
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">placeholder</span></code> is matched
               </li></ul></div>
 </li>
 <li class="listitem">
@@ -56,7 +56,7 @@
           </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
 <p class="simpara">
- rule::multiplies is matched
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies</span></code> is matched
               </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="square">
 <li class="listitem">
@@ -64,7 +64,7 @@
                     evaluate left:
                   </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- rule::value is matched
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">value</span></code> is matched
                       </li></ul></div>
 </li>
 <li class="listitem">
@@ -72,7 +72,7 @@
                     evaluate right:
                   </p>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
- rule::placeholder is matched
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">placeholder</span></code> is matched
                       </li></ul></div>
 </li>
 </ul></div>
@@ -83,6 +83,51 @@
         Every time a rule is matched, an action will be called. The action determines
         how the Phoenix AST will be traversed.
       </p>
+<a name="phoenix.inside.actions.writing_an_action"></a><h5>
+<a name="id775148"></a>
+ <a class="link" href="actions.html#phoenix.inside.actions.writing_an_action">Writing an Action</a>
+ </h5>
+<p>
+ As mentioned in <a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
+ actions are <a href="http://www.boost.org/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transforms</a> for convenience Phoenix provides an abstraction
+ to this:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Fun</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">call</span><span class="special">;</span>
+</pre>
+<p>
+ This is similar to <a href="http://www.boost.org/doc/libs/release/doc/html/boost/proto/pass_through.html" target="_top">Proto
+ Pass Through Transform</a> but does more. It calls the <code class="computeroutput"><span class="identifier">Fun</span></code> function object passed as template
+ parameter with the <code class="computeroutput"><span class="identifier">Context</span></code>
+ and the children of the expression associated with the rule.
+ </p>
+<p>
+ Lets have an (simplified) example on how to write an evaluation action for
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">plus_eval</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Lhs</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">Rhs</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">rhs</span><span class="special">,</span> <span class="identifier">Context</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">eval</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">eval</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">default_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">call</span><span class="special">&lt;</span><span class="identifier">plus_eval</span><span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ That's it. When evaluating a <code class="computeroutput"><span class="identifier">plus</span></code>
+ expression, the <code class="computeroutput"><span class="identifier">plus_eval</span></code>
+ callable gets called with the left hand side and right hand side expression
+ and the associated Context.
+ </p>
 <div class="variablelist">
 <p class="title"><b>Predefined Rules</b></p>
 <dl>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actor.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actor.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actor.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -20,7 +20,7 @@
 <a name="phoenix.inside.actor"></a><a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
 </h3></div></div></div>
 <a name="phoenix.inside.actor.actor"></a><h5>
-<a name="id682037"></a>
+<a name="id766619"></a>
         <a class="link" href="actor.html#phoenix.inside.actor.actor">Actor</a>
       </h5>
 <p>
@@ -70,7 +70,7 @@
 </span><span class="special">};</span>
 </pre>
 <div class="table">
-<a name="id682555"></a><p class="title"><b>Table&#160;1.9.&#160;Actor Concept Requirements</b></p>
+<a name="id767137"></a><p class="title"><b>Table&#160;1.9.&#160;Actor Concept Requirements</b></p>
 <div class="table-contents"><table class="table" summary="Actor Concept Requirements">
 <colgroup>
 <col>
@@ -136,7 +136,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="phoenix.inside.actor.function_call_operators"></a><h5>
-<a name="id682856"></a>
+<a name="id767438"></a>
         <a class="link" href="actor.html#phoenix.inside.actor.function_call_operators">Function Call
         Operators</a>
       </h5>
@@ -169,7 +169,7 @@
 </td></tr>
 </table></div>
 <a name="phoenix.inside.actor.context"></a><h5>
-<a name="id682963"></a>
+<a name="id767545"></a>
         <a class="link" href="actor.html#phoenix.inside.actor.context">Context</a>
       </h5>
 <p>
@@ -180,7 +180,7 @@
         all information necessary to evaluate the given expression.
       </p>
 <div class="table">
-<a name="id683007"></a><p class="title"><b>Table&#160;1.10.&#160;Context Concept Requirements</b></p>
+<a name="id767590"></a><p class="title"><b>Table&#160;1.10.&#160;Context Concept Requirements</b></p>
 <div class="table-contents"><table class="table" summary="Context Concept Requirements">
 <colgroup>
 <col>
@@ -278,7 +278,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="phoenix.inside.actor.environment"></a><h5>
-<a name="id683374"></a>
+<a name="id767957"></a>
         <a class="link" href="actor.html#phoenix.inside.actor.environment">Environment</a>
       </h5>
 <p>
@@ -297,7 +297,7 @@
         such as local variables, etc.
       </p>
 <a name="phoenix.inside.actor.actions"></a><h5>
-<a name="id683440"></a>
+<a name="id768022"></a>
         <a class="link" href="actor.html#phoenix.inside.actor.actions">Actions</a>
       </h5>
 <p>
@@ -336,7 +336,7 @@
         on actions</a>.
       </p>
 <a name="phoenix.inside.actor.evaluation"></a><h5>
-<a name="id683723"></a>
+<a name="id768306"></a>
         <a class="link" href="actor.html#phoenix.inside.actor.evaluation">Evaluation</a>
       </h5>
 <pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">evaluator</span>
@@ -367,7 +367,7 @@
 <span class="special">}</span>
 </pre>
 <a name="phoenix.inside.actor.result_of__actor"></a><h5>
-<a name="id684228"></a>
+<a name="id768810"></a>
         <a class="link" href="actor.html#phoenix.inside.actor.result_of__actor">result_of::actor</a>
       </h5>
 <p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -155,7 +155,7 @@
         </p></td></tr>
 </table></div>
 <a name="phoenix.inside.expression.meta_grammar"></a><h5>
-<a name="id685642"></a>
+<a name="id770224"></a>
         <a class="link" href="expression.html#phoenix.inside.expression.meta_grammar">meta_grammar</a>
       </h5>
 <p>
@@ -183,7 +183,7 @@
         you include this grammar gets extended by various expressions.
       </p>
 <a name="phoenix.inside.expression.example"></a><h5>
-<a name="id685872"></a>
+<a name="id770455"></a>
         <a class="link" href="expression.html#phoenix.inside.expression.example">Example</a>
       </h5>
 <p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -20,7 +20,7 @@
 <a name="phoenix.inside.expression.phoenix_define_expression"></a><a class="link" href="phoenix_define_expression.html" title="PHOENIX_DEFINE_EXPRESSION">PHOENIX_DEFINE_EXPRESSION</a>
 </h4></div></div></div>
 <a name="phoenix.inside.expression.phoenix_define_expression.description"></a><h6>
-<a name="id686693"></a>
+<a name="id771275"></a>
           <a class="link" href="phoenix_define_expression.html#phoenix.inside.expression.phoenix_define_expression.description">Description</a>
         </h6>
 <p>
@@ -29,7 +29,7 @@
           create Phoenix Expressions
         </p>
 <a name="phoenix.inside.expression.phoenix_define_expression.synopsis"></a><h6>
-<a name="id686727"></a>
+<a name="id771309"></a>
           <a class="link" href="phoenix_define_expression.html#phoenix.inside.expression.phoenix_define_expression.synopsis">Synopsis</a>
         </h6>
 <pre class="programlisting"><span class="identifier">PHOENIX_DEFINE_EXPRESSION</span><span class="special">(</span>
@@ -40,7 +40,7 @@
 <span class="special">)</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression.semantics"></a><h6>
-<a name="id686832"></a>
+<a name="id771414"></a>
           <a class="link" href="phoenix_define_expression.html#phoenix.inside.expression.phoenix_define_expression.semantics">Semantics</a>
         </h6>
 <p>
@@ -88,13 +88,13 @@
           This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code>.
         </p>
 <a name="phoenix.inside.expression.phoenix_define_expression.header"></a><h6>
-<a name="id687318"></a>
+<a name="id771901"></a>
           <a class="link" href="phoenix_define_expression.html#phoenix.inside.expression.phoenix_define_expression.header">Header</a>
         </h6>
 <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">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression.example"></a><h6>
-<a name="id687401"></a>
+<a name="id771983"></a>
           <a class="link" href="phoenix_define_expression.html#phoenix.inside.expression.phoenix_define_expression.example">Example</a>
         </h6>
 <p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_ext.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_ext.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_ext.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -20,7 +20,7 @@
 <a name="phoenix.inside.expression.phoenix_define_expression_ext"></a><a class="link" href="phoenix_define_expression_ext.html" title="PHOENIX_DEFINE_EXPRESSION_EXT">PHOENIX_DEFINE_EXPRESSION_EXT</a>
 </h4></div></div></div>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext.description"></a><h6>
-<a name="id688630"></a>
+<a name="id773212"></a>
           <a class="link" href="phoenix_define_expression_ext.html#phoenix.inside.expression.phoenix_define_expression_ext.description">Description</a>
         </h6>
 <p>
@@ -29,7 +29,7 @@
           create Phoenix Expressions
         </p>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext.synopsis"></a><h6>
-<a name="id688665"></a>
+<a name="id773248"></a>
           <a class="link" href="phoenix_define_expression_ext.html#phoenix.inside.expression.phoenix_define_expression_ext.synopsis">Synopsis</a>
         </h6>
 <pre class="programlisting"><span class="identifier">PHOENIX_DEFINE_EXPRESSION_EXT</span><span class="special">(</span>
@@ -43,7 +43,7 @@
 <span class="special">)</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext.semantics"></a><h6>
-<a name="id688806"></a>
+<a name="id773389"></a>
           <a class="link" href="phoenix_define_expression_ext.html#phoenix.inside.expression.phoenix_define_expression_ext.semantics">Semantics</a>
         </h6>
 <p>
@@ -92,13 +92,13 @@
           This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code>.
         </p>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext.header"></a><h6>
-<a name="id689304"></a>
+<a name="id773887"></a>
           <a class="link" href="phoenix_define_expression_ext.html#phoenix.inside.expression.phoenix_define_expression_ext.header">Header</a>
         </h6>
 <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">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext.example"></a><h6>
-<a name="id689386"></a>
+<a name="id773969"></a>
           <a class="link" href="phoenix_define_expression_ext.html#phoenix.inside.expression.phoenix_define_expression_ext.example">Example</a>
         </h6>
 <pre class="programlisting"><span class="identifier">PHOENIX_DEFINE_EXPRESSION_EXT</span><span class="special">(</span>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_ext_vararg.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_ext_vararg.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_ext_vararg.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -20,7 +20,7 @@
 <a name="phoenix.inside.expression.phoenix_define_expression_ext_vararg"></a><a class="link" href="phoenix_define_expression_ext_vararg.html" title="PHOENIX_DEFINE_EXPRESSION_EXT_VARARG">PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</a>
 </h4></div></div></div>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext_vararg.description"></a><h6>
-<a name="id689548"></a>
+<a name="id774130"></a>
           <a class="link" href="phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.phoenix_define_expression_ext_vararg.description">Description</a>
         </h6>
 <p>
@@ -29,7 +29,7 @@
           create Phoenix Expressions
         </p>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext_vararg.synopsis"></a><h6>
-<a name="id689584"></a>
+<a name="id774166"></a>
           <a class="link" href="phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.phoenix_define_expression_ext_vararg.synopsis">Synopsis</a>
         </h6>
 <pre class="programlisting"><span class="identifier">PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</span><span class="special">(</span>
@@ -43,7 +43,7 @@
 <span class="special">)</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext_vararg.semantics"></a><h6>
-<a name="id689726"></a>
+<a name="id774308"></a>
           <a class="link" href="phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.phoenix_define_expression_ext_vararg.semantics">Semantics</a>
         </h6>
 <p>
@@ -92,13 +92,13 @@
 <span class="special">}</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext_vararg.header"></a><h6>
-<a name="id690190"></a>
+<a name="id774773"></a>
           <a class="link" href="phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.phoenix_define_expression_ext_vararg.header">Header</a>
         </h6>
 <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">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression_ext_vararg.example"></a><h6>
-<a name="id690272"></a>
+<a name="id774854"></a>
           <a class="link" href="phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.phoenix_define_expression_ext_vararg.example">Example</a>
         </h6>
 <p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_vararg.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_vararg.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression/phoenix_define_expression_vararg.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -20,7 +20,7 @@
 <a name="phoenix.inside.expression.phoenix_define_expression_vararg"></a><a class="link" href="phoenix_define_expression_vararg.html" title="PHOENIX_DEFINE_EXPRESSION_VARARG">PHOENIX_DEFINE_EXPRESSION_VARARG</a>
 </h4></div></div></div>
 <a name="phoenix.inside.expression.phoenix_define_expression_vararg.description"></a><h6>
-<a name="id687749"></a>
+<a name="id772332"></a>
           <a class="link" href="phoenix_define_expression_vararg.html#phoenix.inside.expression.phoenix_define_expression_vararg.description">Description</a>
         </h6>
 <p>
@@ -29,7 +29,7 @@
           create Phoenix Expressions
         </p>
 <a name="phoenix.inside.expression.phoenix_define_expression_vararg.synopsis"></a><h6>
-<a name="id687785"></a>
+<a name="id772368"></a>
           <a class="link" href="phoenix_define_expression_vararg.html#phoenix.inside.expression.phoenix_define_expression_vararg.synopsis">Synopsis</a>
         </h6>
 <pre class="programlisting"><span class="identifier">PHOENIX_DEFINE_EXPRESSION_VARARG</span><span class="special">(</span>
@@ -42,7 +42,7 @@
 <span class="special">)</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression_vararg.semantics"></a><h6>
-<a name="id687916"></a>
+<a name="id772498"></a>
           <a class="link" href="phoenix_define_expression_vararg.html#phoenix.inside.expression.phoenix_define_expression_vararg.semantics">Semantics</a>
         </h6>
 <p>
@@ -90,13 +90,13 @@
 <span class="special">}</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression_vararg.header"></a><h6>
-<a name="id688368"></a>
+<a name="id772950"></a>
           <a class="link" href="phoenix_define_expression_vararg.html#phoenix.inside.expression.phoenix_define_expression_vararg.header">Header</a>
         </h6>
 <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">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <a name="phoenix.inside.expression.phoenix_define_expression_vararg.example"></a><h6>
-<a name="id688450"></a>
+<a name="id773032"></a>
           <a class="link" href="phoenix_define_expression_vararg.html#phoenix.inside.expression.phoenix_define_expression_vararg.example">Example</a>
         </h6>
 <pre class="programlisting"><span class="identifier">PHOENIX_DEFINE_EXPRESSION_VARARG</span><span class="special">(</span>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/arguments.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/arguments.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/arguments.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -31,7 +31,7 @@
           an imaginary data-bin where a function argument will be placed.
         </p>
 <a name="phoenix.modules.core.arguments.predefined_arguments"></a><h6>
-<a name="id655374"></a>
+<a name="id739956"></a>
           <a class="link" href="arguments.html#phoenix.modules.core.arguments.predefined_arguments">Predefined
           Arguments</a>
         </h6>
@@ -75,7 +75,7 @@
           </p></td></tr>
 </table></div>
 <a name="phoenix.modules.core.arguments.user_defined_arguments"></a><h6>
-<a name="id655899"></a>
+<a name="id740482"></a>
           <a class="link" href="arguments.html#phoenix.modules.core.arguments.user_defined_arguments">User
           Defined Arguments</a>
         </h6>
@@ -97,7 +97,7 @@
 <pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="number">6</span><span class="special">)</span>
 </pre>
 <a name="phoenix.modules.core.arguments.evaluating_an_argument"></a><h6>
-<a name="id656050"></a>
+<a name="id740633"></a>
           <a class="link" href="arguments.html#phoenix.modules.core.arguments.evaluating_an_argument">Evaluating
           an Argument</a>
         </h6>
@@ -124,7 +124,7 @@
 <span class="identifier">Hello</span> <span class="identifier">World</span>
 </pre>
 <a name="phoenix.modules.core.arguments.extra_arguments"></a><h6>
-<a name="id656348"></a>
+<a name="id740930"></a>
           <a class="link" href="arguments.html#phoenix.modules.core.arguments.extra_arguments">Extra Arguments</a>
         </h6>
 <p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/references.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/references.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/references.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -59,7 +59,7 @@
 <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.modules.core.references.evaluating_a_reference"></a><h6>
-<a name="id654972"></a>
+<a name="id739554"></a>
           <a class="link" href="references.html#phoenix.modules.core.references.evaluating_a_reference">Evaluating
           a Reference</a>
         </h6>
@@ -75,7 +75,7 @@
           prints out "3 Hello World"
         </p>
 <a name="phoenix.modules.core.references.constant_references"></a><h6>
-<a name="id655108"></a>
+<a name="id739690"></a>
           <a class="link" href="references.html#phoenix.modules.core.references.constant_references">Constant
           References</a>
         </h6>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/values.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/values.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/values.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -47,7 +47,7 @@
           but, as we'll see later on, there are situations where this is unavoidable.
         </p>
 <a name="phoenix.modules.core.values.evaluating_a_value"></a><h3>
-<a name="id654490"></a>
+<a name="id739072"></a>
           <a class="link" href="values.html#phoenix.modules.core.values.evaluating_a_value">Evaluating
           a Value</a>
         </h3>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/operator.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/operator.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/operator.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -134,18 +134,18 @@
 </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.modules.operator.supported_operators"></a><h5>
-<a name="id658785"></a>
+<a name="id743367"></a>
         <a class="link" href="operator.html#phoenix.modules.operator.supported_operators">Supported operators</a>
       </h5>
 <a name="phoenix.modules.operator.unary_operators"></a><h5>
-<a name="id658804"></a>
+<a name="id743386"></a>
         <a class="link" href="operator.html#phoenix.modules.operator.unary_operators">Unary operators</a>
       </h5>
 <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.modules.operator.binary_operators"></a><h5>
-<a name="id658935"></a>
+<a name="id743517"></a>
         <a class="link" href="operator.html#phoenix.modules.operator.binary_operators">Binary operators</a>
       </h5>
 <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>
@@ -154,7 +154,7 @@
 <span class="special">&amp;&amp;,</span> <span class="special">||,</span> <span class="special">-&gt;*</span>
 </pre>
 <a name="phoenix.modules.operator.ternary_operator"></a><h5>
-<a name="id659136"></a>
+<a name="id743718"></a>
         <a class="link" href="operator.html#phoenix.modules.operator.ternary_operator">Ternary operator</a>
       </h5>
 <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>
@@ -167,7 +167,7 @@
         albeit in a lazy manner.
       </p>
 <a name="phoenix.modules.operator.member_pointer_operator"></a><h5>
-<a name="id659237"></a>
+<a name="id743820"></a>
         <a class="link" href="operator.html#phoenix.modules.operator.member_pointer_operator">Member pointer
         operator</a>
       </h5>
@@ -208,7 +208,7 @@
 <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>
 <a name="phoenix.modules.operator.include_files"></a><h5>
-<a name="id659617"></a>
+<a name="id744200"></a>
         <a class="link" href="operator.html#phoenix.modules.operator.include_files">Include Files</a>
       </h5>
 <div class="informaltable"><table class="table">

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -73,7 +73,7 @@
         </p>
 </div>
 <div class="table">
-<a name="id673507"></a><p class="title"><b>Table&#160;1.6.&#160;Iteration Algorithms</b></p>
+<a name="id758090"></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>
@@ -128,7 +128,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id673786"></a><p class="title"><b>Table&#160;1.7.&#160;Querying Algorithms</b></p>
+<a name="id758368"></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>
@@ -441,7 +441,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id676257"></a><p class="title"><b>Table&#160;1.8.&#160;Transformation Algorithms</b></p>
+<a name="id760840"></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/modules/stl/container.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl/container.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl/container.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -137,7 +137,7 @@
           does not use the member "dot" syntax.
         </p>
 <div class="table">
-<a name="id670456"></a><p class="title"><b>Table&#160;1.4.&#160;Sample usage</b></p>
+<a name="id755038"></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="id670796"></a><p class="title"><b>Table&#160;1.5.&#160;Lazy STL Container Functions</b></p>
+<a name="id755378"></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/organization.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/organization.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/organization.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -52,7 +52,7 @@
       files. There are no object files to link against.
     </p>
 <a name="phoenix.organization.core"></a><h3>
-<a name="id652820"></a>
+<a name="id737402"></a>
       <a class="link" href="organization.html#phoenix.organization.core">Core</a>
     </h3>
 <p>
@@ -72,7 +72,7 @@
       can again be another expression.
     </p>
 <div class="table">
-<a name="id652858"></a><p class="title"><b>Table&#160;1.2.&#160;Modules</b></p>
+<a name="id737441"></a><p class="title"><b>Table&#160;1.2.&#160;Modules</b></p>
 <div class="table-contents"><table class="table" summary="Modules">
 <colgroup>
 <col>
@@ -200,7 +200,7 @@
       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="id653146"></a><p class="title"><b>Table&#160;1.3.&#160;Includes</b></p>
+<a name="id737729"></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 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -52,7 +52,7 @@
       into high gear quickly.
     </p>
 <a name="phoenix.starter_kit.functors_everywhere"></a><h4>
-<a name="id648039"></a>
+<a name="id732621"></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/lazy_functions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -45,7 +45,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.lazy_functions.things_to_note_"></a><h5>
-<a name="id650840"></a>
+<a name="id735422"></a>
         <a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.things_to_note_">Things
         to note:</a>
       </h5>
@@ -75,7 +75,7 @@
         (See function.cpp)
       </p>
 <a name="phoenix.starter_kit.lazy_functions.predefined_lazy_functions"></a><h5>
-<a name="id651018"></a>
+<a name="id735600"></a>
         <a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.predefined_lazy_functions">Predefined
         Lazy Functions</a>
       </h5>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -69,7 +69,7 @@
       </p>
 </div>
 <a name="phoenix.starter_kit.lazy_operators.first_practical_example"></a><h5>
-<a name="id649767"></a>
+<a name="id734349"></a>
         <a class="link" href="lazy_operators.html#phoenix.starter_kit.lazy_operators.first_practical_example">First
         Practical Example</a>
       </h5>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/values.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/values.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/values.html 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -32,7 +32,7 @@
         World"</span></code>.
       </p>
 <a name="phoenix.starter_kit.values.lazy_evaluation"></a><h5>
-<a name="id648203"></a>
+<a name="id732785"></a>
         <a class="link" href="values.html#phoenix.starter_kit.values.lazy_evaluation">Lazy Evaluation</a>
       </h5>
 <p>
@@ -64,7 +64,7 @@
         anything and defers the evaluation for later.
       </p>
 <a name="phoenix.starter_kit.values.callbacks"></a><h5>
-<a name="id648428"></a>
+<a name="id733010"></a>
         <a class="link" href="values.html#phoenix.starter_kit.values.callbacks">Callbacks</a>
       </h5>
 <p>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/actions.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/actions.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/actions.qbk 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -10,32 +10,67 @@
 [section:actions More on Actions]
 
 As you know from the [link phoenix.inside.actor Actors in Detail] section,
-Actions are what brings live to a Phoenix expression tree.
+Actions are what brings life to a Phoenix expression tree.
 
 When dealing with a Phoenix expression tree, it gets evaluated top-down.
 Example:
 
     _1 + 3 * _2
 
-Can be visualized in an AST as following:
+Can be visualized as an AST in the following way:
 
 [$images/simple_ast.png]
 
 In terms of actions this means:
 
-* rule::plus is matched
+* `rule::plus` is matched
 * evaluate left:
- * rule::placeholder is matched
+ * `rule::placeholder` is matched
 * evaluate right:
- * rule::multiplies is matched
+ * `rule::multiplies` is matched
   * evaluate left:
- * rule::value is matched
+ * `rule::value` is matched
   * evaluate right:
- * rule::placeholder is matched
+ * `rule::placeholder` is matched
 
 Every time a rule is matched, an action will be called. The action determines
 how the Phoenix AST will be traversed.
 
+[heading Writing an Action]
+
+As mentioned in [link phoenix.inside.actor Actors in Detail] actions are
+__proto_primitive_transforms__ for convenience Phoenix provides an abstraction
+to this:
+
+ template <typename Fun>
+ struct call;
+
+This is similar to __proto_call__ but does more. It calls the `Fun` function
+object passed as template parameter with the `Context` and the children of the
+expression associated with the rule.
+
+Lets have an (simplified) example on how to write an evaluation action for
+`rule::plus`:
+
+ struct plus_eval
+ {
+ typedef int result_type;
+
+ template <typename Lhs, typename Rhs, typename Context>
+ result_type operator()(Lhs const& lhs, Rhs const &rhs, Context const & ctx)
+ {
+ return eval(lhs, ctx) + eval(rhs, ctx);
+ }
+ };
+
+ template <>
+ struct default_actions::when<rule::plus>
+ : call<plus_eval>
+ {};
+
+That's it. When evaluating a `plus` expression, the `plus_eval` callable gets
+called with the left hand side and right hand side expression and the associated
+Context.
 
 [variablelist Predefined Rules
  [

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/phoenix3.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/phoenix3.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/phoenix3.qbk 2011-02-18 04:01:47 EST (Fri, 18 Feb 2011)
@@ -29,6 +29,8 @@
 [def __proto_transform__ [@http://www.boost.org/doc/libs/release/doc/html/Transform.html Proto Transform]]
 [def __proto_pass_through_transform__ [@http://www.boost.org/doc/libs/release/doc/html/boost/proto/pass_through.html Proto Pass Through Transform]]
 [def __proto_primitive_transform__ [@http://www.boost.org/doc/libs/release/doc/html/PrimitiveTransform.html Proto Primitive Transform]]
+[def __proto_primitive_transforms__ [@http://www.boost.org/doc/libs/release/doc/html/PrimitiveTransform.html Proto Primitive Transforms]]
+[def __proto_call__ [@http://www.boost.org/doc/libs/release/doc/html/boost/proto/pass_through.html Proto Pass Through Transform]]
 [def __haskell__ [@http://www.haskell.org Haskell]]
 [def __mpl__ [@http://www.boost.org/libs/mpl/index.html MPL]]
 [def __bll__ [@http://www.boost.org/libs/lambda/doc/index.html BLL]]


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