Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r69060 - in sandbox/SOC/2010/phoenix3: boost/phoenix/core boost/phoenix/debug boost/phoenix/function boost/phoenix/operator boost/phoenix/operator/detail libs/phoenix/doc libs/phoenix/doc/examples libs/phoenix/doc/html libs/phoenix/doc/html/phoenix libs/phoenix/doc/html/phoenix/advanced libs/phoenix/doc/html/phoenix/advanced_topics libs/phoenix/doc/html/phoenix/examples libs/phoenix/doc/html/phoenix/inside libs/phoenix/doc/html/phoenix/inside/expression libs/phoenix/doc/html/phoenix/modules libs/phoenix/doc/html/phoenix/modules/bind libs/phoenix/doc/html/phoenix/modules/core libs/phoenix/doc/html/phoenix/modules/stl libs/phoenix/doc/html/phoenix/reference libs/phoenix/doc/html/phoenix/starter_kit libs/phoenix/doc/inside libs/phoenix/doc/modules libs/phoenix/example libs/phoenix/test libs/phoenix/test/core libs/phoenix/test/detail
From: thom.heller_at_[hidden]
Date: 2011-02-19 11:38:32


Author: theller
Date: 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
New Revision: 69060
URL: http://svn.boost.org/trac/boost/changeset/69060

Log:
cleaned up doc directory
Added:
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/examples/adding.qbk (contents, props changed)
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/rules.html (contents, props changed)
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/custom_terminal.qbk (contents, props changed)
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/placeholder.qbk (contents, props changed)
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/rules.qbk (contents, props changed)
Removed:
   sandbox/SOC/2010/phoenix3/boost/phoenix/debug/
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced/
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/advanced_topics/
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/ebnf.html
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside_phoenix.html
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/reference/
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest
   sandbox/SOC/2010/phoenix3/libs/phoenix/test/core/function_composition.cpp
   sandbox/SOC/2010/phoenix3/libs/phoenix/test/detail/
Text files modified:
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/reference.hpp | 7 ++
   sandbox/SOC/2010/phoenix3/boost/phoenix/function/function.hpp | 5 -
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/arithmetic.hpp | 1
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/bitwise.hpp | 1
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/comparision.hpp | 1
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/define_operator.hpp | 24 +++++++
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/undef_operator.hpp | 2
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/if_else.hpp | 10 +-
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/logical.hpp | 1
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/member.hpp | 2
   sandbox/SOC/2010/phoenix3/boost/phoenix/operator/self.hpp | 1
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/Jamfile | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/examples.qbk | 4
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html | 20 +++---
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix-doc_HTML.manifest | 65 +++++++++++++++++++-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/basics.html | 10 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html | 122 +++++++++++++++++++++++++++++++++++++++
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/examples/extending_actors.html | 8 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actions.html | 47 +++-----------
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actor.html | 18 ++--
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html | 49 ++++++++++++++-
   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/inside/placeholder_unification.html | 8 +-
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html | 2
   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 | 10 +-
   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.qbk | 14 ---
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/actions.qbk | 33 +---------
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/bind.qbk | 6
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/organisation.qbk | 4
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/phoenix3.qbk | 6
   sandbox/SOC/2010/phoenix3/libs/phoenix/doc/preface.qbk | 2
   sandbox/SOC/2010/phoenix3/libs/phoenix/example/define_expression.cpp | 16 ++--
   sandbox/SOC/2010/phoenix3/libs/phoenix/test/Jamfile | 18 ----
   50 files changed, 395 insertions(+), 222 deletions(-)

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/reference.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/reference.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/reference.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -52,6 +52,13 @@
         };
     }
 
+ namespace rule
+ {
+ struct reference
+ : expression::reference<proto::_>
+ {};
+ }
+
     template <typename T>
     typename expression::reference<T>::type const
     ref(T & t)

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/function/function.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/function/function.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/function/function.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -54,10 +54,7 @@
     namespace rule
     {
         struct function
- : proto::nary_expr<
- proto::tag::function
- , proto::vararg<meta_grammar>
- >
+ : expression::function<proto::vararg<meta_grammar> >
         {};
     }
 

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/arithmetic.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/arithmetic.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/arithmetic.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -9,6 +9,7 @@
 #define PHOENIX_OPERATOR_ARITHMETIC_HPP
 
 #include <boost/phoenix/operator/detail/define_operator.hpp>
+#include <boost/phoenix/core/expression.hpp>
 
 namespace boost { namespace phoenix
 {

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/bitwise.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/bitwise.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/bitwise.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -9,6 +9,7 @@
 #define PHOENIX_OPERATOR_BITWISE_HPP
 
 #include <boost/phoenix/operator/detail/define_operator.hpp>
+#include <boost/phoenix/core/expression.hpp>
 
 namespace boost { namespace phoenix
 {

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/comparision.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/comparision.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/comparision.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -9,6 +9,7 @@
 #define PHOENIX_OPERATOR_COMPARISION_HPP
 
 #include <boost/phoenix/operator/detail/define_operator.hpp>
+#include <boost/phoenix/core/expression.hpp>
 
 namespace boost { namespace phoenix
 {

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/define_operator.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/define_operator.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/define_operator.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -12,15 +12,29 @@
 #include <boost/phoenix/core/meta_grammar.hpp>
 #include <boost/preprocessor/seq/for_each.hpp>
 
+#define PHOENIX_UNARY_EXPRESSION(__, ___, name) \
+ template <typename Operand> \
+ struct name \
+ : expr<proto::tag::name, Operand> \
+ {}; \
+/**/
+
 #define PHOENIX_UNARY_RULE(__, ___, name) \
     struct name \
- : proto::unary_expr<proto::tag::name, proto::_> \
+ : expression::name<meta_grammar> \
+ {}; \
+/**/
+
+#define PHOENIX_BINARY_EXPRESSION(__, ___, name) \
+ template <typename Lhs, typename Rhs> \
+ struct name \
+ : expr<proto::tag::name, Lhs, Rhs> \
     {}; \
 /**/
 
 #define PHOENIX_BINARY_RULE(__, ___, name) \
     struct name \
- : proto::binary_expr<proto::tag::name, proto::_, proto::_> \
+ : expression::name<meta_grammar, meta_grammar> \
     {}; \
 /**/
 
@@ -32,6 +46,9 @@
 /**/
 
 #define PHOENIX_UNARY_OPERATORS(ops) \
+ namespace expression { \
+ BOOST_PP_SEQ_FOR_EACH(PHOENIX_UNARY_EXPRESSION, _, ops) \
+ } \
     namespace rule { \
         BOOST_PP_SEQ_FOR_EACH(PHOENIX_UNARY_RULE, _, ops) \
     } \
@@ -39,6 +56,9 @@
 /**/
 
 #define PHOENIX_BINARY_OPERATORS(ops) \
+ namespace expression { \
+ BOOST_PP_SEQ_FOR_EACH(PHOENIX_BINARY_EXPRESSION, _, ops) \
+ } \
     namespace rule { \
         BOOST_PP_SEQ_FOR_EACH(PHOENIX_BINARY_RULE, _, ops) \
     } \

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/undef_operator.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/undef_operator.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/detail/undef_operator.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -1,6 +1,8 @@
 
 #undef PHOENIX_UNARY_RULE
 #undef PHOENIX_BINARY_RULE
+#undef PHOENIX_UNARY_EXPRESSION
+#undef PHOENIX_BINARY_EXPRESSION
 #undef PHOENIX_GRAMMAR
 #undef PHOENIX_UNARY_OPERATORS
 #undef PHOENIX_BINARY_OPERATORS

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/if_else.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/if_else.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/if_else.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -31,11 +31,11 @@
         namespace rule
         {
                 struct if_else_operator
- : proto::nary_expr<
- tag::if_else_operator
- , meta_grammar
- , meta_grammar
- , meta_grammar>
+ : expression::if_else_operator<
+ meta_grammar
+ , meta_grammar
+ , meta_grammar
+ >
                 {};
         }
 

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/logical.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/logical.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/logical.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -9,6 +9,7 @@
 #define PHOENIX_OPERATOR_LOGICAL_HPP
 
 #include <boost/phoenix/operator/detail/define_operator.hpp>
+#include <boost/phoenix/core/expression.hpp>
 
 namespace boost { namespace phoenix
 {

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/member.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/member.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/member.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -54,6 +54,8 @@
 PHOENIX_DEFINE_EXPRESSION_VARARG(
     (boost)(phoenix)(mem_fun_ptr)
   , (meta_grammar)
+ (meta_grammar)
+ (meta_grammar)
   , PHOENIX_LIMIT
 )
 

Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/operator/self.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/operator/self.hpp (original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/operator/self.hpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -9,6 +9,7 @@
 #define PHOENIX_OPERATOR_SELF_HPP
 
 #include <boost/phoenix/operator/detail/define_operator.hpp>
+#include <boost/phoenix/core/expression.hpp>
 
 namespace boost { namespace phoenix
 {

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/Jamfile
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/Jamfile (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/Jamfile 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -11,7 +11,7 @@
 
 path-constant images : html ;
 
-boostbook quickbook
+boostbook phoenix-doc
     :
         phoenix3.qbk
     :

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/examples.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/examples.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/examples.qbk 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -10,8 +10,6 @@
 [section:examples Advanced Examples]
 
 [include examples/extending_actors.qbk]
-
-[section Adding an expression]
-[endsect]
+[include examples/adding.qbk]
 
 [endsect]

Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/examples/adding.qbk
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/examples/adding.qbk 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,111 @@
+[/==============================================================================
+ Copyright (C) 2001-2010 Joel de Guzman
+ Copyright (C) 2001-2005 Dan Marsden
+ Copyright (C) 2001-2010 Thomas Heller
+
+ 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)
+===============================================================================/]
+
+[section Adding an expression]
+
+This is not a toy example. This is actually part of the library. Remember the
+[link phoenix.modules.statement.while__statement `while`] lazy statement? Putting together
+everything we've learned so far, we eill present it here in its entirety
+(verbatim):
+
+ PHOENIX_DEFINE_EXPRESSION(
+ (boost)(phoenix)(while_)
+ , (meta_grammar) // Cond
+ (meta_grammar) // Do
+ )
+
+ namespace boost { namespace phoenix
+ {
+ struct while_eval
+ {
+ typedef void result_type;
+
+ template <typename Context, typename Cond, typename Do>
+ result_type
+ operator()(Context const& ctx, Cond const& cond, Do const& do_) const
+ {
+ while(eval(cond, ctx))
+ {
+ eval(do_, ctx);
+ }
+ }
+ };
+
+ template <typename Dummy>
+ struct default_actions::when<rule::while_, Dummy>
+ : call<while_eval, Dummy>
+ {};
+
+ template <typename Cond>
+ struct while_gen
+ {
+ while_gen(Cond const& cond) : cond(cond) {}
+
+ template <typename Do>
+ typename expression::while_<Cond, Do>::type const
+ operator[](Do const& do_) const
+ {
+ return expression::while_<Cond, Do>::make(cond, do_);
+ }
+
+ Cond const& cond;
+ };
+
+ template <typename Cond>
+ while_gen<Cond> const
+ while_(Cond const& cond)
+ {
+ return while_gen<Cond>(cond);
+ }
+ }}
+
+`while_eval` is an example of how to evaluate an expression. It gets called in
+the `rule::while` action. `while_gen` and `while? are the expression template
+front ends. Let's break this apart to undestand what's happening. Let's start at
+the bottom. It's easier that way.
+
+When you write:
+
+ while_(cond)
+
+we generate an instance of `while_gen<Cond>`, where `Cond` is the type of `cond`.
+`cond` can be an arbitrarily complex actor expression. The `while_gen` template
+class has an `operator[]` accepting another expression. If we write:
+
+ while_(cond)
+ [
+ do_
+ ]
+
+it will generate a proper composite with the type:
+
+ expression::while_<Cond, Do>::type
+
+where `Cond` is the type of `cond` and `Do` is the type of `do_`. Notice how we are using phoenix's
+[link phoenix.inside.expression Expression) mechanism here
+
+ template <typename Do>
+ typename expression::while_<Cond, Do>::type const
+ operator[](Do const& do_) const
+ {
+ return expression::while_<Cond, Do>::make(cond, do_);
+ }
+
+Finally, the `while_eval` does its thing:
+
+ while(eval(cond, ctx))
+ {
+ eval(do_, ctx);
+ }
+
+`cond` and `do_`, at this point, are instances of [link phoenix.inside.actor Actor]. `cond` and `do_` are the [link phoenix.inside.actor Actors]
+passed as parameters by `call`, ctx is the [link phoenix.inside.actor Context]
+
+[endsect]
+

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-19 11:38:25 EST (Sat, 19 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="id645930"></a><p>
+<a name="id723344"></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>
@@ -117,7 +117,7 @@
 <dt><span class="section">PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</span></dt>
 </dl></dd>
 <dt><span class="section">More on Actions</span></dt>
-<dt><span class="section">Placeholder Unification</span></dt>
+<dt><span class="section">Predefined Expressions and Rules</span></dt>
 <dt><span class="section">Custom Terminals</span></dt>
 </dl></dd>
 <dt><span class="section">Advanced Examples</span></dt>
@@ -128,7 +128,7 @@
 </dl>
 </div>
 <a name="phoenix.preface"></a><h2>
-<a name="id676627"></a>
+<a name="id754041"></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="id644734"></a>
+<a name="id722148"></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="id644781"></a>
+<a name="id722195"></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="id644815"></a><p class="title"><b>Table&#160;1.1.&#160;Icons</b></p>
+<a name="id722230"></a><p class="title"><b>Table&#160;1.1.&#160;Icons</b></p>
 <div class="table-contents"><table class="table" summary="Icons">
 <colgroup>
 <col>
@@ -275,13 +275,13 @@
     is assumed
   </p>
 </div>
-<a name="phoenix._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"></a><h3>
-<a name="id685584"></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>
+<a name="phoenix._emphasis_role__bold___emphasis____to_joel_s_dear_daughter__phoenix__emphasis___emphasis_"></a><h3>
+<a name="id762998"></a>
+ <a class="link" href="index.html#phoenix._emphasis_role__bold___emphasis____to_joel_s_dear_daughter__phoenix__emphasis___emphasis_"><span class="bold"><strong><span class="emphasis"><em>...To Joel's 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 09:15:52 GMT</small></p></td>
+<td align="left"><p><small>Last revised: February 19, 2011 at 16:31:20 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-doc_HTML.manifest
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix-doc_HTML.manifest (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix-doc_HTML.manifest 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -1,9 +1,62 @@
 index.html
 phoenix/introduction.html
 phoenix/starter_kit.html
-phoenix/starter_kit/primitives.html
-phoenix/starter_kit/composites.html
-phoenix/reference.html
-phoenix/reference/core_mechanisms.html
-phoenix/reference/the_language.html
-phoenix/ebnf.html
+phoenix/starter_kit/values.html
+phoenix/starter_kit/references.html
+phoenix/starter_kit/arguments.html
+phoenix/starter_kit/lazy_operators.html
+phoenix/starter_kit/lazy_statements.html
+phoenix/starter_kit/construct__new__delete__casts.html
+phoenix/starter_kit/lazy_functions.html
+phoenix/starter_kit/more.html
+phoenix/basics.html
+phoenix/organization.html
+phoenix/actor.html
+phoenix/modules.html
+phoenix/modules/core.html
+phoenix/modules/core/values.html
+phoenix/modules/core/references.html
+phoenix/modules/core/arguments.html
+phoenix/modules/core/nothing.html
+phoenix/modules/function.html
+phoenix/modules/operator.html
+phoenix/modules/statement.html
+phoenix/modules/statement/block_statement.html
+phoenix/modules/statement/if__statement.html
+phoenix/modules/statement/___if_else_____statement.html
+phoenix/modules/statement/switch__statement.html
+phoenix/modules/statement/while__statement.html
+phoenix/modules/statement/___do_while_____statement.html
+phoenix/modules/statement/for_statement.html
+phoenix/modules/statement/try__catch__statement.html
+phoenix/modules/statement/throw_.html
+phoenix/modules/object.html
+phoenix/modules/object/construction.html
+phoenix/modules/object/new.html
+phoenix/modules/object/delete.html
+phoenix/modules/object/casts.html
+phoenix/modules/scope.html
+phoenix/modules/scope/local_variables.html
+phoenix/modules/scope/let.html
+phoenix/modules/scope/lambda.html
+phoenix/modules/bind.html
+phoenix/modules/bind/binding_functions.html
+phoenix/modules/bind/binding_member_functions.html
+phoenix/modules/bind/binding_member_variables.html
+phoenix/modules/bind/compatibility_with_boost_bind.html
+phoenix/modules/stl.html
+phoenix/modules/stl/container.html
+phoenix/modules/stl/algorithm.html
+phoenix/inside.html
+phoenix/inside/actor.html
+phoenix/inside/expression.html
+phoenix/inside/expression/phoenix_define_expression.html
+phoenix/inside/expression/phoenix_define_expression_vararg.html
+phoenix/inside/expression/phoenix_define_expression_ext.html
+phoenix/inside/expression/phoenix_define_expression_ext_vararg.html
+phoenix/inside/actions.html
+phoenix/inside/rules.html
+phoenix/inside/custom_terminals.html
+phoenix/examples.html
+phoenix/examples/extending_actors.html
+phoenix/examples/adding_an_expression.html

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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -42,7 +42,7 @@
       </p></td></tr>
 </table></div>
 <a name="phoenix.basics.partial_function_application"></a><h4>
-<a name="id688970"></a>
+<a name="id766384"></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="id689185"></a>
+<a name="id766600"></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="id689396"></a>
+<a name="id766810"></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="id689939"></a>
+<a name="id767353"></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="id690077"></a>
+<a name="id767491"></a>
       <a class="link" href="basics.html#phoenix.basics.polymorphic_functions">Polymorphic Functions</a>
     </h4>
 <p>

Deleted: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/ebnf.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/ebnf.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
+++ (empty file)
@@ -1,162 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>EBNF</title>
-<link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
-<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
-<link rel="prev" href="reference/the_language/core/nothing.html" title="Nothing">
-</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="reference/the_language/core/nothing.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
-</div>
-<div class="section">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="phoenix.ebnf"></a><a class="link" href="ebnf.html" title="EBNF">EBNF</a>
-</h2></div></div></div>
-<pre class="programlisting">phoenix := statement ( "," statement )*
-
-statement := expression | loops | if_statement | exception | switch
-
-expression := operator
-
-primary_expr := terminal
- | "if_else(" expression "," expression "," expression ")"
- | cast
- | construction
- | bind
- | scope
- | ( "(" expression ")" )
-
-terminal := value | reference | placeholder
-
-cast := ( "static_cast_" | "dynamic_cast_" | "reinterpret_cast_" | "const_cast_" ) "&lt;" T "&gt;(" expression ")"
-
-construction := ( ( "construct" | "new_" ) "&lt;" T "&gt;(" [ expression ( "," expression )* ] ")" ) |
- ( "delete_(" expression ")" )
-
-bind := "bind(" ( expression | function_pointer ) ( "," expression )* ")"
-
-scope := let | lambda
-
-local_var_def := local_var "=" expression
-
-let := "let(" [ local_var_def ( "," local_var_def )* ] ")[" ( phoenix | local_var )* "]"
-
-lambda := "lambda" [ "(" [ local_var_def ( "," local_var_def )* ] ")" ] "[" ( phoenix | local_var )* "]"
-
-loops := for_loop | while_loop | do_while_loop
-
-for_loop := "for_(" expression "," expression "," expression ")[" phoenix "]"
-
-while_loop := "while_(" expression ")[" phoenix "]"
-
-do_while_loop := "do_[" phoenix "].while_(" expression ")"
-
-if_statement := "if_(" expression ")[" statement "]" [ ".else_[" phoenix "]" ]
-
-exception := throw | try_catch
-
-throw := "throw_(" [ expression ] ")"
-
-try_catch := "try_[" phoenix "]"
- ( ".catch_&lt;" E "&gt;()[" phoenix "]" )*
- [ ".catch_all[" phoenix "]" ]
-
-switch := "switch_(" expression ")[" (
- ( case_statement ( "," case_statement )* [ "," default_statement ] ) |
- default_statement
- )
-
-case_statement := "case_&lt;" N "&gt;(" phoenix ")"
-default_statement := "default_(" phoenix ")"
-
-operator := logical_or_op (
- ( "=" logical_or_op )* |
- ( "+=" logical_or_op )* |
- ( "-=" logical_or_op )* |
- ( "*=" logical_or_op )* |
- ( "/=" logical_or_op )* |
- ( "%=" logical_or_op )* |
- ( "&amp;=" logical_or_op )* |
- ( "^=" logical_or_op )* |
- ( "|=" logical_or_op )* |
- ( "&lt;&lt;=" logical_or_op )* |
- ( "&gt;&gt;=" logical_or_op )*
- )
-
-logical_or_op := logical_and_op ( "||" logical_and_op )*
-
-logical_and_op := bitwise_or_op ( "&amp;&amp;" bitwise_or_op )*
-
-bitwise_or_op := bitwise_xor_op ( "|" bitwise_xor_op )*
-
-bitwise_xor_op := bitwise_and_op ( "^" bitwise_and_op )*
-
-bitwise_and_op := equality_op ( "&amp;" equality_op )*
-
-equality_op := relational_op (
- ( "==" relational_op )* |
- ( "!=" relational_op )*
- )
-
-relational_op := shift_op (
- ( "&lt;" shift_op )* |
- ( "&gt;" shift_op )* |
- ( "&lt;=" shift_op )* |
- ( "&gt;=" shift_op )*
- )
-
-shift_op := additive_op (
- ( "&lt;&lt;" additive_op )* |
- ( "&gt;&gt;" additive_op )*
- )
-
-additive_op := multiplicative_op (
- ( "+" multiplicative_op )* |
- ( "-" multiplicative_op )*
- )
-
-multiplicative_op := member_pointer_op (
- ( "*" member_pointer_op )* |
- ( "/" member_pointer_op )*
- )
-
-member_pointer_op := unary_op ( "-&gt;*" unary_op )*
-
-unary_op := unary_postfix_op
- | ( "*" unary_postfix_op )
- | ( "&amp;" unary_postfix_op )
- | ( "+" unary_postfix_op )
- | ( "-" unary_postfix_op )
- | ( "~" unary_postfix_op )
- | ( "!" unary_postfix_op )
- | ( "++" unary_postfix_op )
- | ( "--" unary_postfix_op )
-
-unary_postfix_op := primary_expr
- | ( primary_expr "[" expression "]" )
- | ( primary_expr "()" )
- | ( primary_expr "(" expression ( "," expression )* ")" )
- | ( primary_expr "++" )
- | ( primary_expr "--" )
-</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="reference/the_language/core/nothing.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../images/home.png" alt="Home"></a>
-</div>
-</body>
-</html>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -14,9 +14,127 @@
 <div class="spirit-nav">
 <a accesskey="p" href="extending_actors.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a>
 </div>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
 <a name="phoenix.examples.adding_an_expression"></a><a class="link" href="adding_an_expression.html" title="Adding an expression">Adding an expression</a>
-</h3></div></div></div></div>
+</h3></div></div></div>
+<p>
+ This is not a toy example. This is actually part of the library. Remember
+ the <a class="link" href="../modules/statement/while__statement.html" title="while_ Statement"><code class="computeroutput"><span class="keyword">while</span></code></a> lazy statement? Putting together
+ everything we've learned so far, we eill present it here in its entirety
+ (verbatim):
+ </p>
+<pre class="programlisting"><span class="identifier">PHOENIX_DEFINE_EXPRESSION</span><span class="special">(</span>
+ <span class="special">(</span><span class="identifier">boost</span><span class="special">)(</span><span class="identifier">phoenix</span><span class="special">)(</span><span class="identifier">while_</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Cond
+</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Do
+</span><span class="special">)</span>
+
+<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">phoenix</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">while_eval</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">void</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">Context</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Cond</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Do</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span>
+ <span class="keyword">operator</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="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">,</span> <span class="identifier">Do</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">do_</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">while</span><span class="special">(</span><span class="identifier">eval</span><span class="special">(</span><span class="identifier">cond</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">do_</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Dummy</span><span class="special">&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">while_</span><span class="special">,</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">call</span><span class="special">&lt;</span><span class="identifier">while_eval</span><span class="special">,</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Cond</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">while_gen</span>
+ <span class="special">{</span>
+ <span class="identifier">while_gen</span><span class="special">(</span><span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">cond</span><span class="special">(</span><span class="identifier">cond</span><span class="special">)</span> <span class="special">{}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Do</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span>
+ <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">Do</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">do_</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">do_</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Cond</span><span class="special">&gt;</span>
+ <span class="identifier">while_gen</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">&gt;</span> <span class="keyword">const</span>
+ <span class="identifier">while_</span><span class="special">(</span><span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">while_gen</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">&gt;(</span><span class="identifier">cond</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">while_eval</span></code> is an example
+ of how to evaluate an expression. It gets called in the <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="keyword">while</span></code> action.
+ <code class="computeroutput"><span class="identifier">while_gen</span></code> and `while? are
+ the expression template front ends. Let's break this apart to undestand what's
+ happening. Let's start at the bottom. It's easier that way.
+ </p>
+<p>
+ When you write:
+ </p>
+<pre class="programlisting"><span class="identifier">while_</span><span class="special">(</span><span class="identifier">cond</span><span class="special">)</span>
+</pre>
+<p>
+ we generate an instance of <code class="computeroutput"><span class="identifier">while_gen</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">&gt;</span></code>, where <code class="computeroutput"><span class="identifier">Cond</span></code>
+ is the type of <code class="computeroutput"><span class="identifier">cond</span></code>. <code class="computeroutput"><span class="identifier">cond</span></code> can be an arbitrarily complex actor
+ expression. The <code class="computeroutput"><span class="identifier">while_gen</span></code>
+ template class has an <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code> accepting another expression. If we write:
+ </p>
+<pre class="programlisting"><span class="identifier">while_</span><span class="special">(</span><span class="identifier">cond</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">do_</span>
+<span class="special">]</span>
+</pre>
+<p>
+ it will generate a proper composite with the type:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">Cond</span></code> is the type of
+ <code class="computeroutput"><span class="identifier">cond</span></code> and <code class="computeroutput"><span class="identifier">Do</span></code>
+ is the type of <code class="computeroutput"><span class="identifier">do_</span></code>. Notice
+ how we are using phoenix's <a class="link" href="../inside/expression.html" title="Phoenix Expressions">Expression)
+ mechanism here</a>[link phoenix.inside.expression Expression) mechanism
+ here
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Do</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span>
+<span class="keyword">operator</span><span class="special">[](</span><span class="identifier">Do</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">do_</span><span class="special">)</span> <span class="keyword">const</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">do_</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Finally, the <code class="computeroutput"><span class="identifier">while_eval</span></code> does
+ its thing:
+ </p>
+<pre class="programlisting"><span class="keyword">while</span><span class="special">(</span><span class="identifier">eval</span><span class="special">(</span><span class="identifier">cond</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">do_</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">cond</span></code> and <code class="computeroutput"><span class="identifier">do_</span></code>,
+ at this point, are instances of <a class="link" href="../inside/actor.html" title="Actors in Detail">Actor</a>.
+ <code class="computeroutput"><span class="identifier">cond</span></code> and <code class="computeroutput"><span class="identifier">do_</span></code>
+ are the <a class="link" href="../inside/actor.html" title="Actors in Detail">Actors</a> passed as parameters
+ by <code class="computeroutput"><span class="identifier">call</span></code>, ctx is the <a class="link" href="../inside/actor.html" title="Actors in Detail">Context</a>
+ </p>
+</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>

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-19 11:38:25 EST (Sat, 19 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="id729367"></a>
+<a name="id816316"></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="id729680"></a>
+<a name="id816629"></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="id730565"></a>
+<a name="id817514"></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="id731232"></a>
+<a name="id818181"></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.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -29,7 +29,7 @@
 <dt><span class="section">PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</span></dt>
 </dl></dd>
 <dt><span class="section">More on Actions</span></dt>
-<dt><span class="section">Placeholder Unification</span></dt>
+<dt><span class="section">Predefined Expressions and Rules</span></dt>
 <dt><span class="section">Custom Terminals</span></dt>
 </dl></div>
 <p>

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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -7,13 +7,13 @@
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
 <link rel="up" href="../inside.html" title="Inside Phoenix">
 <link rel="prev" href="expression/phoenix_define_expression_ext_vararg.html" title="PHOENIX_DEFINE_EXPRESSION_EXT_VARARG">
-<link rel="next" href="placeholder_unification.html" title="Placeholder Unification">
+<link rel="next" href="rules.html" title="Predefined Expressions and Rules">
 </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="expression/phoenix_define_expression_ext_vararg.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="placeholder_unification.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="expression/phoenix_define_expression_ext_vararg.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="rules.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
@@ -84,7 +84,7 @@
         how the Phoenix AST will be traversed.
       </p>
 <a name="phoenix.inside.actions.writing_an_action"></a><h5>
-<a name="id728215"></a>
+<a name="id805560"></a>
         <a class="link" href="actions.html#phoenix.inside.actions.writing_an_action">Writing an Action</a>
       </h5>
 <p>
@@ -110,8 +110,8 @@
 <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="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">,</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">&gt;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</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="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="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>
@@ -186,35 +186,12 @@
             </p></dd>
 </dl>
 </div>
-<div class="variablelist">
-<p class="title"><b>Predefined Rules</b></p>
-<dl>
-<dt><span class="term">rule::value</span></dt>
-<dd><p>
- ...
- </p></dd>
-<dt><span class="term">rule::custom_terminal</span></dt>
-<dd><p>
- ...
- </p></dd>
-<dt><span class="term">rule::placeholder</span></dt>
-<dd><p>
- ...
- </p></dd>
-<dt><span class="term">rule::nothing</span></dt>
-<dd><p>
- ...
- </p></dd>
-<dt><span class="term">rule::function</span></dt>
-<dd><p>
- ...
- </p></dd>
-<dt><span class="term">rule::nothing</span></dt>
-<dd><p>
- ...
- </p></dd>
-</dl>
-</div>
+<p>
+ Phoenix is equipped with a predefined set of expressions, rules and actions
+ to make all the stuff work you learned in the <a class="link" href="../starter_kit.html" title="Starter Kit">Starter
+ Kit</a> and <a class="link" href="../modules.html" title="Modules">Modules</a> sections. See
+ the <a class="link" href="rules.html" title="Predefined Expressions and Rules">next section</a> for more details!
+ </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -226,7 +203,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="expression/phoenix_define_expression_ext_vararg.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="placeholder_unification.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="expression/phoenix_define_expression_ext_vararg.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="rules.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

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-19 11:38:25 EST (Sat, 19 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="id719686"></a>
+<a name="id797030"></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="id720204"></a><p class="title"><b>Table&#160;1.9.&#160;Actor Concept Requirements</b></p>
+<a name="id797549"></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="id720505"></a>
+<a name="id797850"></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="id720612"></a>
+<a name="id797957"></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="id720656"></a><p class="title"><b>Table&#160;1.10.&#160;Context Concept Requirements</b></p>
+<a name="id798001"></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="id721024"></a>
+<a name="id798368"></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="id721089"></a>
+<a name="id798434"></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="id721372"></a>
+<a name="id798717"></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="id721877"></a>
+<a name="id799222"></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/custom_terminals.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -6,18 +6,57 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
 <link rel="up" href="../inside.html" title="Inside Phoenix">
-<link rel="prev" href="placeholder_unification.html" title="Placeholder Unification">
+<link rel="prev" href="rules.html" title="Predefined Expressions and Rules">
 <link rel="next" href="../examples.html" title="Advanced Examples">
 </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="placeholder_unification.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="../examples.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="rules.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="../examples.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
-<div class="section"><div class="titlepage"><div><div><h3 class="title">
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
 <a name="phoenix.inside.custom_terminals"></a><a class="link" href="custom_terminals.html" title="Custom Terminals">Custom Terminals</a>
-</h3></div></div></div></div>
+</h3></div></div></div>
+<p>
+ Custom Terminals are used in phoenix to handle special values transparently.
+ For example, as phoenix captures everything by value, we needed to use <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span></code> to bring in reference
+ semantics into phoenix.
+ </p>
+<p>
+ Custom terminals could be any wrapper class:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_custom_terminal</span><span class="special">;</span>
+</pre>
+<p>
+ needs to be specialized in order for phoenix to recognize this wrapper type.
+ <code class="computeroutput"><span class="identifier">default_action</span></code> calls <code class="computeroutput"><span class="identifier">custom_terminal</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="comment">// Call out boost::reference_wrapper for special handling
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_custom_terminal</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span>
+<span class="special">{};</span>
+
+<span class="comment">// Special handling for boost::reference_wrapper
+</span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">custom_terminal</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="special">&amp;</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">Context</span><span class="special">&gt;</span>
+ <span class="identifier">T</span> <span class="special">&amp;</span><span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&amp;)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">r</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</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>
@@ -28,7 +67,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="placeholder_unification.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="../examples.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="rules.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="../examples.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -155,7 +155,7 @@
         </p></td></tr>
 </table></div>
 <a name="phoenix.inside.expression.meta_grammar"></a><h5>
-<a name="id723291"></a>
+<a name="id800636"></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="id723521"></a>
+<a name="id800866"></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-19 11:38:25 EST (Sat, 19 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="id724342"></a>
+<a name="id801687"></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="id724376"></a>
+<a name="id801721"></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="id724481"></a>
+<a name="id801826"></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="id724967"></a>
+<a name="id802312"></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="id725050"></a>
+<a name="id802395"></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-19 11:38:25 EST (Sat, 19 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="id726279"></a>
+<a name="id803624"></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="id726314"></a>
+<a name="id803659"></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="id726455"></a>
+<a name="id803800"></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="id726954"></a>
+<a name="id804299"></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="id727035"></a>
+<a name="id804380"></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-19 11:38:25 EST (Sat, 19 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="id727197"></a>
+<a name="id804542"></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="id727233"></a>
+<a name="id804578"></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="id727375"></a>
+<a name="id804720"></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="id727839"></a>
+<a name="id805183"></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="id727921"></a>
+<a name="id805266"></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-19 11:38:25 EST (Sat, 19 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="id725398"></a>
+<a name="id802743"></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="id725434"></a>
+<a name="id802779"></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="id725565"></a>
+<a name="id802910"></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="id726017"></a>
+<a name="id803362"></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="id726099"></a>
+<a name="id803444"></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/inside/placeholder_unification.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/placeholder_unification.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/placeholder_unification.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -6,14 +6,14 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
 <link rel="up" href="../inside.html" title="Inside Phoenix">
-<link rel="prev" href="actions.html" title="More on Actions">
-<link rel="next" href="custom_terminals.html" title="Custom Terminals">
+<link rel="prev" href="custom_terminals.html" title="Custom Terminals">
+<link rel="next" href="../examples.html" title="Advanced Examples">
 </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="actions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="custom_terminals.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="custom_terminals.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="../examples.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 <div class="section"><div class="titlepage"><div><div><h3 class="title">
 <a name="phoenix.inside.placeholder_unification"></a><a class="link" href="placeholder_unification.html" title="Placeholder Unification">Placeholder Unification</a>
@@ -28,7 +28,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="actions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="custom_terminals.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="custom_terminals.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="../examples.html"><img src="../../images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/rules.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/rules.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,1378 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Predefined Expressions and Rules</title>
+<link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="actions.html" title="More on Actions">
+<link rel="next" href="custom_terminals.html" title="Custom Terminals">
+</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="actions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="custom_terminals.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.inside.rules"></a><a class="link" href="rules.html" title="Predefined Expressions and Rules">Predefined Expressions and Rules</a>
+</h3></div></div></div>
+<p>
+ This section is the "behind the scenes" counter part of the <a class="link" href="../modules.html" title="Modules">Modules</a> section. A listing of all the predefined
+ expressions and rules:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Rule
+ </p>
+ </th>
+<th>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">value</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">custom_terminal</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">argument</span></pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">custom_terminal</span></pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">function</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">negate</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">negate</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">unary_plus</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">unary_plus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_inc</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_inc</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_dec</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_dec</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_inc</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_inc</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_dec</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_dec</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">minus_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">divides_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">modules_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">modules_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">modules_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">minus</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">divides</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">modulus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">modulus</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">modulus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">complement</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">complement</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">complement</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_and_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_or_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_xor_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_left_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_right_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_and</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_or</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_xor</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_left</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_right</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">equal_to</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">equal_to</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">equal_to</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">not_equal_to</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">not_equal_to</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">not_equal_to</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">less_equal_to</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">less_equal_to</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">less_equal_to</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater_equal</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">greater_equal</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater_equal</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">less</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">less</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">less</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">greater</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else_operator</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Then</span><span class="special">,</span>
+ <span class="identifier">Else</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">if_else</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_not</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">logical_not</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_not</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_and</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">logical_and</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_and</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_or</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">logical_or</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_or</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">mem_fun_ptr</span><span class="special">&lt;</span><span class="identifier">Object</span><span class="special">,</span>
+ <span class="identifier">MemPtr</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">mem_fun_ptr</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">mem_fun_ptr</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">address_of</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">address_of</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">address_of</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">dereference</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">dereference</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">dereference</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">subscript</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">subscript</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">subscript</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">sequence</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span>
+ <span class="identifier">A1</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">sequence</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">sequence</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Then</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">if_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else_statement</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Then</span><span class="special">,</span>
+ <span class="identifier">Else</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">if_else_statement</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else_statement</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_case</span><span class="special">&lt;</span><span class="identifier">Label</span><span class="special">,</span>
+ <span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">switch_case</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_case</span><span class="special">&lt;</span> <span class="identifier">terminal</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">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_default_case</span><span class="special">&lt;</span><span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">switch_default_case</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_default_case</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Cases</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">switch_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">switch_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Do</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">while_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">do_while</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Do</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">do_while</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">do_while</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">for_</span><span class="special">&lt;</span><span class="identifier">Init</span><span class="special">,</span>
+ <span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Step</span><span class="special">,</span>
+ <span class="identifier">Do</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">for_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">for_</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">Exception</span><span class="special">,</span>
+ <span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&lt;</span>
+ <span class="identifier">catch_exception</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_all</span><span class="special">&lt;</span><span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_all</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span><span class="identifier">Try</span><span class="special">,</span>
+ <span class="identifier">Catch0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">CatchN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">try_catch</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">or_</span><span class="special">&lt;</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_all</span>
+ <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">catch_all</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">throw_</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">throw_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">throw_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">construct</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">construct</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">construct</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">new_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">new_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">new_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">delete_</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">delete_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">delete_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">static_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">static_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">static_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">dynamic_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">dynamic_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">dynamic_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reinterpret_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">reinterpret_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">reinterpret_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">const_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">const_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">const_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">custom_terminal</span></pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">let</span><span class="special">&lt;</span><span class="identifier">Locals</span><span class="special">,</span>
+ <span class="identifier">Statement</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">let</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">let</span><span class="special">&lt;</span><span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">&lt;</span><span class="identifier">OuterEnv</span><span class="special">,</span>
+ <span class="identifier">Locals</span><span class="special">,</span>
+ <span class="identifier">Statement</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">lambda</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">&lt;</span><span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda_actor</span><span class="special">&lt;</span><span class="identifier">Locals</span><span class="special">,</span>
+ <span class="identifier">Statement</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">lambda_actor</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda_actor</span><span class="special">&lt;</span><span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</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="actions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.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="custom_terminals.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside_phoenix.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside_phoenix.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
+++ (empty file)
@@ -1,44 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Inside Phoenix</title>
-<link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
-<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
-<link rel="prev" href="modules/fusion.html" title="Fusion">
-<link rel="next" href="inside_phoenix/actor.html" title="Actors in Detail">
-</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="modules/fusion.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="inside_phoenix/actor.html"><img src="../images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="phoenix.inside_phoenix"></a><a class="link" href="inside_phoenix.html" title="Inside Phoenix">Inside Phoenix</a>
-</h2></div></div></div>
-<div class="toc"><dl><dt><span class="section">Actors in Detail</span></dt></dl></div>
-<p>
- This chapter explains in more detail how the library operates. The information
- henceforth should not be necessary to those who are interested in just using
- the library. However, a microscopic view might prove to be beneficial to moderate
- to advanced programmers who wish to extend the library.
- </p>
-</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="modules/fusion.html"><img src="../images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.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="inside_phoenix/actor.html"><img src="../images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -19,7 +19,7 @@
 <div class="titlepage"><div><div><h4 class="title">
 <a name="phoenix.modules.bind.binding_functions"></a><a class="link" href="binding_functions.html" title="Binding Functions">Binding Functions</a>
 </h4></div></div></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="identifier">bind</span><span class="special">/</span><span class="identifier">bind_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<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">bind</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
           Example, given a function <code class="computeroutput"><span class="identifier">foo</span></code>:

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -20,7 +20,7 @@
 <a name="phoenix.modules.bind.binding_member_functions"></a><a class="link" href="binding_member_functions.html" title="Binding Member Functions">Binding
         Member Functions</a>
 </h4></div></div></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="identifier">bind</span><span class="special">/</span><span class="identifier">bind_member_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<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">bind</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
           Binding member functions can be done similarly. A bound member function

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -20,7 +20,7 @@
 <a name="phoenix.modules.bind.binding_member_variables"></a><a class="link" href="binding_member_variables.html" title="Binding Member Variables">Binding
         Member Variables</a>
 </h4></div></div></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="identifier">bind</span><span class="special">/</span><span class="identifier">bind_member_variable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<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">bind</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
 <p>
           Member variables can also be bound much like member functions. Member variables

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-19 11:38:25 EST (Sat, 19 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="id693023"></a>
+<a name="id770437"></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="id693548"></a>
+<a name="id770963"></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="id693700"></a>
+<a name="id771114"></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="id693997"></a>
+<a name="id771411"></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-19 11:38:25 EST (Sat, 19 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="id692621"></a>
+<a name="id770035"></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="id692757"></a>
+<a name="id770171"></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-19 11:38:25 EST (Sat, 19 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="id692139"></a>
+<a name="id769553"></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-19 11:38:25 EST (Sat, 19 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="id696434"></a>
+<a name="id773780"></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="id696453"></a>
+<a name="id773799"></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="id696584"></a>
+<a name="id773930"></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="id696785"></a>
+<a name="id774131"></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="id696886"></a>
+<a name="id774232"></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="id697266"></a>
+<a name="id774613"></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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -73,7 +73,7 @@
         </p>
 </div>
 <div class="table">
-<a name="id711156"></a><p class="title"><b>Table&#160;1.6.&#160;Iteration Algorithms</b></p>
+<a name="id788502"></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="id711435"></a><p class="title"><b>Table&#160;1.7.&#160;Querying Algorithms</b></p>
+<a name="id788780"></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="id713906"></a><p class="title"><b>Table&#160;1.8.&#160;Transformation Algorithms</b></p>
+<a name="id791252"></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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -137,7 +137,7 @@
           does not use the member "dot" syntax.
         </p>
 <div class="table">
-<a name="id708105"></a><p class="title"><b>Table&#160;1.4.&#160;Sample usage</b></p>
+<a name="id785450"></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="id708445"></a><p class="title"><b>Table&#160;1.5.&#160;Lazy STL Container Functions</b></p>
+<a name="id785790"></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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -34,10 +34,10 @@
           Value, Reference, Arguments
         </li>
 <li class="listitem">
- Function, Operator, Object, Statement, Bind, Scope
+ Function, Operator, Object, Statement, Scope
         </li>
 <li class="listitem">
- STL, Fusion
+ STL, Fusion, Bind
         </li>
 </ol></div>
 <p>
@@ -52,7 +52,7 @@
       files. There are no object files to link against.
     </p>
 <a name="phoenix.organization.core"></a><h3>
-<a name="id690469"></a>
+<a name="id767883"></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="id690507"></a><p class="title"><b>Table&#160;1.2.&#160;Modules</b></p>
+<a name="id767922"></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="id690795"></a><p class="title"><b>Table&#160;1.3.&#160;Includes</b></p>
+<a name="id768210"></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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -52,7 +52,7 @@
       into high gear quickly.
     </p>
 <a name="phoenix.starter_kit.functors_everywhere"></a><h4>
-<a name="id685688"></a>
+<a name="id763102"></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-19 11:38:25 EST (Sat, 19 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="id688489"></a>
+<a name="id765904"></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="id688667"></a>
+<a name="id766081"></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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -69,7 +69,7 @@
       </p>
 </div>
 <a name="phoenix.starter_kit.lazy_operators.first_practical_example"></a><h5>
-<a name="id687416"></a>
+<a name="id764830"></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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -32,7 +32,7 @@
         World"</span></code>.
       </p>
 <a name="phoenix.starter_kit.values.lazy_evaluation"></a><h5>
-<a name="id685852"></a>
+<a name="id763266"></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="id686077"></a>
+<a name="id763492"></a>
         <a class="link" href="values.html#phoenix.starter_kit.values.callbacks">Callbacks</a>
       </h5>
 <p>

Deleted: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
+++ (empty file)
@@ -1,62 +0,0 @@
-index.html
-phoenix/introduction.html
-phoenix/starter_kit.html
-phoenix/starter_kit/values.html
-phoenix/starter_kit/references.html
-phoenix/starter_kit/arguments.html
-phoenix/starter_kit/lazy_operators.html
-phoenix/starter_kit/lazy_statements.html
-phoenix/starter_kit/construct__new__delete__casts.html
-phoenix/starter_kit/lazy_functions.html
-phoenix/starter_kit/more.html
-phoenix/basics.html
-phoenix/organization.html
-phoenix/actor.html
-phoenix/modules.html
-phoenix/modules/core.html
-phoenix/modules/core/values.html
-phoenix/modules/core/references.html
-phoenix/modules/core/arguments.html
-phoenix/modules/core/nothing.html
-phoenix/modules/function.html
-phoenix/modules/operator.html
-phoenix/modules/statement.html
-phoenix/modules/statement/block_statement.html
-phoenix/modules/statement/if__statement.html
-phoenix/modules/statement/___if_else_____statement.html
-phoenix/modules/statement/switch__statement.html
-phoenix/modules/statement/while__statement.html
-phoenix/modules/statement/___do_while_____statement.html
-phoenix/modules/statement/for_statement.html
-phoenix/modules/statement/try__catch__statement.html
-phoenix/modules/statement/throw_.html
-phoenix/modules/object.html
-phoenix/modules/object/construction.html
-phoenix/modules/object/new.html
-phoenix/modules/object/delete.html
-phoenix/modules/object/casts.html
-phoenix/modules/scope.html
-phoenix/modules/scope/local_variables.html
-phoenix/modules/scope/let.html
-phoenix/modules/scope/lambda.html
-phoenix/modules/bind.html
-phoenix/modules/bind/binding_functions.html
-phoenix/modules/bind/binding_member_functions.html
-phoenix/modules/bind/binding_member_variables.html
-phoenix/modules/bind/compatibility_with_boost_bind.html
-phoenix/modules/stl.html
-phoenix/modules/stl/container.html
-phoenix/modules/stl/algorithm.html
-phoenix/inside.html
-phoenix/inside/actor.html
-phoenix/inside/expression.html
-phoenix/inside/expression/phoenix_define_expression.html
-phoenix/inside/expression/phoenix_define_expression_vararg.html
-phoenix/inside/expression/phoenix_define_expression_ext.html
-phoenix/inside/expression/phoenix_define_expression_ext_vararg.html
-phoenix/inside/actions.html
-phoenix/inside/placeholder_unification.html
-phoenix/inside/custom_terminals.html
-phoenix/examples.html
-phoenix/examples/extending_actors.html
-phoenix/examples/adding_an_expression.html

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside.qbk 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -17,17 +17,7 @@
 [include inside/actor.qbk]
 [include inside/expression.qbk]
 [include inside/actions.qbk]
-
-[section Placeholder Unification]
-
-
-
-[endsect]
-
-[section Custom Terminals]
-[endsect]
-
-[/section Adding Expressions]
-[/endsect]
+[include inside/rules.qbk]
+[include inside/custom_terminal.qbk]
 
 [endsect]

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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -56,8 +56,8 @@
     {
         typedef int result_type;
 
- template <typename Lhs, typename Rhs, typename Context>
- result_type operator()(Lhs const& lhs, Rhs const &rhs, Context const & ctx)
+ template <typename Context, typename Lhs, typename Rhs>
+ result_type operator()(Context const & ctx, Lhs const& lhs, Rhs const &rhs)
         {
             return eval(lhs, ctx) + eval(rhs, ctx);
         }
@@ -117,31 +117,8 @@
  ]
 ]
 
-[variablelist Predefined Rules
- [
- [rule::value]
- [...]
- ]
- [
- [rule::custom_terminal]
- [...]
- ]
- [
- [rule::placeholder]
- [...]
- ]
- [
- [rule::nothing]
- [...]
- ]
- [
- [rule::function]
- [...]
- ]
- [
- [rule::nothing]
- [...]
- ]
-]
+Phoenix is equipped with a predefined set of expressions, rules and actions to
+make all the stuff work you learned in the __phoenix_starter_kit__ and __phoenix_modules__
+sections. See the [link phoenix.inside.rules next section] for more details!
 
 [endsect]

Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/custom_terminal.qbk
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/custom_terminal.qbk 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,46 @@
+[/==============================================================================
+ Copyright (C) 2001-2010 Joel de Guzman
+ Copyright (C) 2001-2005 Dan Marsden
+ Copyright (C) 2001-2010 Thomas Heller
+
+ 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)
+===============================================================================/]
+
+[section Custom Terminals]
+
+Custom Terminals are used in phoenix to handle special values transparently.
+For example, as phoenix captures everything by value, we needed to use
+`boost::reference_wrapper` to bring in reference semantics into phoenix.
+
+Custom terminals could be any wrapper class:
+
+ template <typename T>
+ struct is_custom_terminal;
+
+needs to be specialized in order for phoenix to recognize this wrapper type.
+`default_action` calls `custom_terminal<T>`.
+
+Example:
+
+ // Call out boost::reference_wrapper for special handling
+ template<typename T>
+ struct is_custom_terminal<boost::reference_wrapper<T> >
+ : mpl::true_
+ {};
+
+ // Special handling for boost::reference_wrapper
+ template<typename T>
+ struct custom_terminal<boost::reference_wrapper<T> >
+ {
+ typedef T &result_type;
+
+ template <typename Context>
+ T &operator()(boost::reference_wrapper<T> r, Context &) const
+ {
+ return r;
+ }
+ };
+
+[endsect]
+

Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/placeholder.qbk
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/placeholder.qbk 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,24 @@
+[/==============================================================================
+ Copyright (C) 2001-2010 Joel de Guzman
+ Copyright (C) 2001-2005 Dan Marsden
+ Copyright (C) 2001-2010 Thomas Heller
+
+ 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)
+===============================================================================/]
+
+
+[section Placeholder Unification]
+
+Phoenix uses `boost::is_placeholder` for recognizing placeholders:
+
+ template <typename T>
+ struct is_placeholder
+ {
+ static const int value = 0;
+ };
+
+To adapt your own placeholder, the nested value needs to be greater than 0
+for your types.
+
+[endsect]

Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/rules.qbk
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/rules.qbk 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -0,0 +1,353 @@
+[/==============================================================================
+ Copyright (C) 2001-2010 Joel de Guzman
+ Copyright (C) 2001-2005 Dan Marsden
+ Copyright (C) 2001-2010 Thomas Heller
+
+ 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)
+===============================================================================/]
+
+[section:rules Predefined Expressions and Rules]
+
+This section is the "behind the scenes" counter part of the __phoenix_modules__
+section. A listing of all the predefined expressions and rules:
+
+[table
+ [[Expression] [Rule] []]
+ [[`expression::value<T>`] [``
+rule::value
+ : expression::value<proto::_>
+``]]
+ [[`expression::reference<T>`] [``
+rule::custom_terminal
+``]]
+ [[`expression::argument<N>`] [``rule::argument``]]
+ [[`expression::null`] [``rule::custom_terminal``]]
+ [[`expression::function<F, A0, ..., AN>`] [``
+rule::function
+ : expression::function<vararg<meta_grammar> >
+``]]
+ [[`expression::negate<A0>`] [``
+rule::negate
+ : expression::negate<meta_grammar>
+``]]
+ [[`expression::unary_plus<A0>`] [``
+rule::negate
+ : expression::unary_plus<meta_grammar>
+``]]
+ [[`expression::pre_inc<A0>`] [``
+rule::negate
+ : expression::pre_inc<meta_grammar>
+``]]
+ [[`expression::pre_dec<A0>`] [``
+rule::negate
+ : expression::pre_dec<meta_grammar>
+``]]
+ [[`expression::post_inc<A0>`] [``
+rule::negate
+ : expression::post_inc<meta_grammar>
+``]]
+ [[`expression::post_dec<A0>`] [``
+rule::negate
+ : expression::post_dec<meta_grammar>
+``]]
+ [[`expression::plus_assign<Lhs, Rhs>`] [
+``
+rule::plus_assign
+ : expression::plus_assign<meta_grammar, meta_grammar>
+``]]
+ [[`expression::minus_assign<Lhs, Rhs>`] [``
+rule::minus_assign
+ : expression::minus_assign<meta_grammar, meta_grammar>
+``]]
+ [[`expression::multiplies_assign<Lhs, Rhs>`] [``
+rule::multiplies_assign
+ : expression::multiplies_assign<meta_grammar, meta_grammar>
+``]]
+ [[`expression::divides_assign<Lhs, Rhs>`] [``
+rule::divides_assign
+ : expression::divides_assign<meta_grammar, meta_grammar>
+``]]
+ [[`expression::modules_assign<Lhs, Rhs>`] [``
+rule::modules_assign
+ : expression::modules_assign<meta_grammar, meta_grammar>
+``]]
+ [[`expression::plus<Lhs, Rhs>`] [``
+rule::plus
+ : expression::plus<meta_grammar, meta_grammar>
+``]]
+ [[`expression::minus<Lhs, Rhs>`] [``
+rule::minus
+ : expression::minus<meta_grammar, meta_grammar>
+``]]
+ [[`expression::multiplies<Lhs, Rhs>`] [
+``
+rule::multiplies
+ : expression::multiplies<meta_grammar, meta_grammar>
+``]]
+ [[`expression::divides<Lhs, Rhs>`] [``
+rule::divides
+ : expression::divides<meta_grammar, meta_grammar>
+``]]
+ [[`expression::modulus<Lhs, Rhs>`] [``
+rule::modulus
+ : expression::modulus<meta_grammar, meta_grammar>
+``]]
+ [[`expression::complement<A0>`] [``
+rule::complement
+ : expression::complement<A0>
+``]]
+ [[`expression::bitwise_and_assign<Lhs, Rhs>`] [``
+rule::bitwise_and_assign
+ : expression::bitwise_and_assign<meta_grammar, meta_grammar>
+``]]
+ [[`expression::bitwise_or_assign<Lhs, Rhs>`] [``
+rule::bitwise_or_assign
+ : expression::bitwise_or_assign<meta_grammar, meta_grammar>
+``] ]
+ [[`expression::bitwise_xor_assign<Lhs, Rhs>`] [``
+rule::bitwise_xor_assign
+ : expression::bitwise_xor_assign<meta_grammar, meta_grammar>
+``]]
+ [[`expression::shift_left_assign<Lhs, Rhs>`] [``
+rule::shift_left_assign
+ : expression::shift_left_assign<meta_grammar, meta_grammar>
+``] ]
+ [[`expression::shift_right_assign<Lhs, Rhs>`] [``
+rule::shift_right_assign
+ : expression::shift_right_assign<meta_grammar, meta_grammar>
+``]]
+ [[`expression::bitwise_and<Lhs, Rhs>`] [``
+rule::bitwise_and
+ : expression::bitwise_and<meta_grammar, meta_grammar>
+``]]
+ [[`expression::bitwise_or<Lhs, Rhs>`] [``
+rule::bitwise_or
+ : expression::bitwise_or<meta_grammar, meta_grammar>
+``]]
+ [[`expression::bitwise_xor<Lhs, Rhs>`] [``
+rule::bitwise_xor
+ : expression::bitwise_xor<meta_grammar, meta_grammar>
+``]]
+ [[`expression::shift_left<Lhs, Rhs>`] [``
+rule::shift_left
+ : expression::shift_left<meta_grammar, meta_grammar>
+``]]
+ [[`expression::shift_right<Lhs, Rhs>`] [``
+rule::shift_right
+ : expression::shift_right<meta_grammar, meta_grammar>
+``]]
+ [[`expression::equal_to<Lhs, Rhs>`] [``
+rule::equal_to
+ : expression::equal_to<meta_grammar, meta_grammar>
+``]]
+ [[`expression::not_equal_to<Lhs, Rhs>`] [``
+rule::not_equal_to
+ : expression::not_equal_to<meta_grammar, meta_grammar>
+``]]
+ [[`expression::less_equal_to<Lhs, Rhs>`] [``
+rule::less_equal_to
+ : expression::less_equal_to<meta_grammar, meta_grammar>
+``]]
+ [[`expression::greater_equal<Lhs, Rhs>`] [``
+rule::greater_equal
+ : expression::greater_equal<meta_grammar, meta_grammar>
+``]]
+ [[`expression::less<Lhs, Rhs>`] [``
+rule::less
+ : expression::less<meta_grammar, meta_grammar>
+``]]
+ [[`expression::greater<Lhs, Rhs>`] [``
+rule::greater
+ : expression::greater<meta_grammar, meta_grammar>
+``]]
+ [[`expression::if_else_operator<Cond, Then, Else>`] [``
+rule::if_else
+ : expression::if_else<meta_grammar, meta_grammar, meta_grammar>
+``]]
+ [[`expression::logical_not<A0>`] [``
+rule::logical_not
+ : expression::logical_not<meta_grammar>
+``]]
+ [[`expression::logical_and<Lhs, Rhs>`] [``
+rule::logical_and
+ : expression::logical_and<meta_grammar, meta_grammar>
+``]]
+ [[`expression::logical_or<Lhs, Rhs>`] [``
+rule::logical_or
+ : expression::logical_or<meta_grammar, meta_grammar>
+``]]
+ [[`expression::mem_fun_ptr<Object, MemPtr, A0, ..., AN>`] [``
+rule::mem_fun_ptr
+ : expression::mem_fun_ptr<meta_grammar, meta_grammar, vararg<meta_grammar> >
+``]]
+ [[`expression::address_of<A0>`] [``
+rule::address_of
+ : expression::address_of<meta_grammar>
+``]]
+ [[`expression::dereference<A0>`] [``
+rule::dereference
+ : expression::dereference<meta_grammar>
+``]]
+ [[`expression::assign<Lhs, Rhs>`] [``
+rule::assign
+ : expression::assign<meta_grammar, meta_grammar>
+``]]
+ [[`expression::subscript<Lhs, Rhs>`] [``
+rule::subscript
+ : expression::subscript<meta_grammar, meta_grammar>
+``]]
+ [[`expression::sequence<A0, A1>`] [``
+rule::sequence
+ : expression::sequence<meta_grammar, meta_grammar>
+``]]
+ [[`expression::if_<Cond, Then>`] [``
+rule::if_
+ : expression::if_<meta_grammar, meta_grammar>
+``]]
+ [[`expression::if_else_statement<Cond, Then, Else>`] [``
+rule::if_else_statement
+ : expression::if_else_statement<meta_grammar, meta_grammar, meta_grammar>
+``]]
+ [[`expression::switch_case<Label, Statement>`] [``
+rule::switch_case
+ : expression::switch_case< terminal<mpl::int_<N> >, meta_grammar>
+``]]
+ [[`expression::switch_default_case<Statement>`] [``
+rule::switch_default_case
+ : expression::switch_default_case<meta_grammar>
+``]]
+ [[`expression::switch_<Cond, Cases>`] [``
+rule::switch_
+ : expression::switch_<
+ meta_grammar
+ , switch_grammar
+ >
+``]]
+ [[`expression::while_<Cond, Do>`] [``
+rule::while_
+ : expression::while_<
+ meta_grammar
+ , meta_grammar
+ >
+``]]
+ [[`expression::do_while<Cond, Do>`] [``
+rule::do_while
+ : expression::do_while<
+ meta_grammar
+ , meta_grammar
+ >
+``]]
+ [[`expression::for_<Init, Cond, Step, Do>`] [``
+rule::for_
+ : expression::for_<
+ meta_grammar
+ , meta_grammar
+ , meta_grammar
+ , meta_grammar
+ >
+``]]
+ [[`expression::catch_<Exception, Statement>`] [``
+rule::catch_
+ : expression::catch_<
+ catch_exception<proto::_>
+ , meta_grammar
+ >
+``]]
+ [[`expression::catch_all<Statement>`] [``
+rule::catch_all
+ : expression::catch_<meta_grammar>
+``]]
+ [
+ [`expression::try_catch<Try, Catch0, ..., CatchN>`]
+ [``
+rule::try_catch
+ : proto::or_<
+ expression::try_catch<
+ meta_grammar
+ , vararg<rule::catch_>
+ >
+ , expression::try_catch<
+ meta_grammar
+ , vararg<rule::catch_>
+ , rule::catch_all
+ >
+ , expression::try_catch<
+ meta_grammar
+ , catch_all
+ >
+ >
+``]]
+ [[`expression::throw_<A0>`] [``
+rule::throw_
+ : expression::throw_<meta_grammar>
+``]]
+ [[`expression::construct<Target, A0, ..., AN>`] [``
+ rule::construct
+ : expression::construct<
+ terminal<detail::target<proto::_> >
+ , A0
+ ...
+ , AN
+ >
+ ``]]
+ [[`expression::new_<Target, A0, ..., AN>`] [``
+ rule::new_
+ : expression::new_<
+ terminal<detail::target<proto::_> >
+ , A0
+ ...
+ , AN
+ >
+ ``]]
+ [[`expression::delete_<A0>`] [``
+rule::delete_
+ : expression::delete_<meta_grammar>
+``]]
+ [[`expression::static_cast_<Target, A>`] [``
+ rule::static_cast_
+ : expression::static_cast_<
+ terminal<detail::target<proto::_> >
+ , A
+ >
+ ``]]
+ [[`expression::dynamic_cast_<Target, A>`] [``
+ rule::dynamic_cast_
+ : expression::dynamic_cast_<
+ terminal<detail::target<proto::_> >
+ , A
+ >
+ ``]]
+ [[`expression::reinterpret_cast_<Target, A>`] [``
+ rule::reinterpret_cast_
+ : expression::reinterpret_cast_<
+ terminal<detail::target<proto::_> >
+ , A
+ >
+ ``]]
+ [[`expression::const_cast_<Target, A>`] [``
+ rule::const_cast_
+ : expression::const_cast_<
+ terminal<detail::target<proto::_> >
+ , A
+ >
+ ``]]
+ [[`expression::local_variable<Key>`] [``rule::custom_terminal``]]
+ [[`expression::let<Locals, Statement`] [
+``
+rule::let
+ : expression::let<terminal<proto::_>, meta_grammar>
+``]]
+ [[`expression::lambda<OuterEnv, Locals, Statement`] [
+``
+rule::lambda
+ : expression::lambda<terminal<proto::_>, terminal<proto::_>, meta_grammar>
+``]]
+ [[`expression::lambda_actor<Locals, Statement`] [
+``
+rule::lambda_actor
+ : expression::lambda_actor<terminal<proto::_>, meta_grammar>
+``]]
+]
+
+[endsect]

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/bind.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/bind.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/bind.qbk 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -26,7 +26,7 @@
 
 [section Binding Functions]
 
- #include <boost/phoenix/bind/bind_function.hpp>
+ #include <boost/phoenix/bind/bind.hpp>
 
 Example, given a function `foo`:
 
@@ -50,7 +50,7 @@
 [endsect]
 [section Binding Member Functions]
 
- #include <boost/phoenix/bind/bind_member_function.hpp>
+ #include <boost/phoenix/bind/bind.hpp>
 
 Binding member functions can be done similarly. A bound member function takes in
 a pointer or reference to an object as the first argument. For instance, given:
@@ -76,7 +76,7 @@
 [endsect]
 [section Binding Member Variables]
 
- #include <boost/phoenix/bind/bind_member_variable.hpp>
+ #include <boost/phoenix/bind/bind.hpp>
 
 Member variables can also be bound much like member functions. Member variables
 are not functions. Yet, like the [link phoenix.modules.core.references `ref(x)`] that

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/organisation.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/organisation.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/organisation.qbk 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -16,8 +16,8 @@
 
 # Actor
 # Value, Reference, Arguments
-# Function, Operator, Object, Statement, Bind, Scope
-# STL, Fusion
+# Function, Operator, Object, Statement, Scope
+# STL, Fusion, Bind
 
 [/$images/organization.png]
 

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-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -49,9 +49,9 @@
 [def __boost_range__ [@http://boost.org/libs/range/index.html Boost.Range]]
 [def __boost_result_of__ [@http://www.boost.org/doc/libs/release/libs/utility/utility.htm#result_of Boost.Result Of]]
 [def __phoenix_starter_kit__ [link phoenix.starter_kit Starter Kit]]
-[def __phoenix_evaluator__ [link phoenix.reference.core_mechanisms.evaluator Evaluator]]
-[def __phoenix_evaluator_default__ [link phoenix.reference.core_mechanisms.evaluator.default_actions Default Actions]]
-[def __phoenix_language__ [link phoenix.reference.the_language Phoenix Language Reference]]
+[def __phoenix_modules__ [link phoenix.modules Modules]]
+[def __phoenix_custom_terminals__ [link phoenix.inside.custom_terminals Custom Terminals]]
+[def __phoenix_placeholder_unification__ [link phoenix.inside.placeholder_unification Placeholder Unification]]
 [def __unspecified__ /unspecified/]
 
 [include preface.qbk]

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/preface.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/preface.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/preface.qbk 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -64,6 +64,6 @@
 
 [blurb __note__ Unless otherwise noted `using namespace boost::phoenix;` is assumed]
 
-[h2 [*/...To my dear daughter, Phoenix/]]
+[h2 [*/...To Joel's dear daughter, Phoenix/]]
 
 [/endsect]

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/example/define_expression.cpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/example/define_expression.cpp (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/example/define_expression.cpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -16,7 +16,7 @@
 namespace expression
 {
     template <typename Lhs, typename Rhs>
- struct add
+ struct plus
         : phoenix::expr<proto::tag::plus, Lhs, Rhs>
     {};
 }
@@ -27,7 +27,7 @@
     template <>
     struct meta_grammar::case_<proto::tag::plus>
         : enable_rule<
- ::expression::add<
+ ::expression::plus<
                 meta_grammar
               , meta_grammar
>
@@ -38,10 +38,10 @@
 
 // build a generator
 template <typename Lhs, typename Rhs>
-typename expression::add<Lhs, Rhs>::type
-add(Lhs const & lhs, Rhs const & rhs)
+typename expression::plus<Lhs, Rhs>::type
+plus(Lhs const & lhs, Rhs const & rhs)
 {
- return expression::add<Lhs, Rhs>::make(lhs, rhs);
+ return expression::plus<Lhs, Rhs>::make(lhs, rhs);
 }
 
 #include <boost/proto/proto.hpp>
@@ -50,11 +50,11 @@
 int main()
 {
 
- add(6, 5);
+ plus(6, 5);
 
- proto::display_expr(add(6, 5));
+ proto::display_expr(plus(6, 5));
 
- std::cout << add(5, 6)() << "\n";
+ std::cout << plus(5, 6)() << "\n";
 }
 
 

Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/test/Jamfile
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/test/Jamfile (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/test/Jamfile 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
@@ -9,16 +9,11 @@
 # bring in rules for testing
 import testing ;
 
-#local multi-threading = <library>/boost/thread
-# <threading>multi <define>BOOST_ALL_NO_LIB=1 ;
-
-#test-suite phoenix_detail :
-# [ run detail/type_deduction_tests.cpp ]
-# ;
+local multi-threading = <library>/boost/thread
+ <threading>multi <define>BOOST_ALL_NO_LIB=1 ;
 
 test-suite phoenix_core :
     [ run core/primitives_tests.cpp ]
-# [ run core/function_composition.cpp ]
     ;
 
 test-suite phoenix_operator :
@@ -77,7 +72,7 @@
     [ run scope/let_tests.cpp ]
     [ run scope/dynamic_tests.cpp ]
          [ run scope/bug3289.cpp ]
-# [ run scope/bug_000008.cpp : : : $(multi-threading) ]
+ [ run scope/bug_000008.cpp : : : $(multi-threading) ]
     ;
 
 test-suite phoenix_algorithm :
@@ -92,7 +87,6 @@
 
 test-suite phoenix_boost_bind_compatibility :
     [ run boost_bind_compatibility/bind_and_or_test.cpp ]
- #[ run boost_bind_compatibility/bind_cdecl_mf_test.cpp ]
     [ run boost_bind_compatibility/bind_const_test.cpp ]
     [ run boost_bind_compatibility/bind_cv_test.cpp ]
     [ run boost_bind_compatibility/bind_dm_test.cpp ]
@@ -101,8 +95,6 @@
     [ run boost_bind_compatibility/bind_eq_test.cpp ]
     [ run boost_bind_compatibility/bind_eq2_test.cpp ]
     [ run boost_bind_compatibility/bind_eq3_test.cpp ]
- #[ run boost_bind_compatibility/bind_fastcall_mf_test.cpp ]
- #[ run boost_bind_compatibility/bind_fastcall_test.cpp ]
     [ run boost_bind_compatibility/bind_fn2_test.cpp ]
     [ run boost_bind_compatibility/bind_function_test.cpp ]
     [ run boost_bind_compatibility/bind_mf2_test.cpp ]
@@ -113,8 +105,6 @@
     [ run boost_bind_compatibility/bind_rvalue_test.cpp ]
     [ run boost_bind_compatibility/bind_rv_sp_test.cpp ]
     [ run boost_bind_compatibility/bind_stateful_test.cpp ]
- #[ run boost_bind_compatibility/bind_stdcall_mf_test.cpp ]
- #[ run boost_bind_compatibility/bind_stdcall_test.cpp ]
     [ run boost_bind_compatibility/bind_test.cpp ]
          ;
 
@@ -134,8 +124,6 @@
     [ run include/stl.cpp ]
     [ run include/bind/bind.cpp : : : : bind_bind ]
     [ run include/version.cpp ]
-# [ run include/bind/bind_member_function.cpp ]
-# [ run include/bind/bind_member_variable.cpp ]
     [ run include/core/actor.cpp ]
     [ run include/core/argument.cpp ]
     [ run include/core/arity.cpp ]

Deleted: sandbox/SOC/2010/phoenix3/libs/phoenix/test/core/function_composition.cpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/test/core/function_composition.cpp 2011-02-19 11:38:25 EST (Sat, 19 Feb 2011)
+++ (empty file)
@@ -1,41 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- 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 <boost/phoenix/core.hpp>
-#include <boost/phoenix/operator.hpp>
-#include <boost/phoenix/function.hpp>
-
-#include <boost/detail/lightweight_test.hpp>
-
-using boost::phoenix::arg_names::arg1;
-using boost::phoenix::arg_names::arg2;
-using boost::phoenix::arg_names::arg3;
-
-int main()
-{
- /*
- auto square = arg1 * arg1;
- auto cube = arg1 * arg1 * arg1;
- auto square_cube = square(cube(arg1));
- */
-
- BOOST_TEST(((arg1 * arg1)(arg1 * arg1 * arg1))(2) == 64);
- BOOST_TEST(((arg1 * arg1)(arg1 * arg2 * arg1))(2, 2) == 64);
- BOOST_TEST(((arg1 * arg1)(arg1 * arg2 * arg3))(2, 2, 2) == 64);
-
- BOOST_TEST((arg1)(arg1)(8) == 8);
- BOOST_TEST((arg1)(arg1 + arg2)(8, 9) == 17);
-
- BOOST_TEST((arg1 + arg2)(arg1, arg1)(8) == 16);
-
- double mean = 8.0;
- (arg1 + arg2 * (arg1 * arg1)( boost::phoenix::val(1.0) - mean ))(1.0, 2.0);
-
- return boost::report_errors();
-}


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