|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r68612 - in sandbox/SOC/2010/phoenix3/libs/phoenix/doc: . html html/images html/phoenix html/phoenix/inside html/phoenix/modules html/phoenix/modules/bind html/phoenix/modules/core html/phoenix/modules/object html/phoenix/modules/scope html/phoenix/modules/statement html/phoenix/modules/stl html/phoenix/starter_kit html/phoenix/starter_kit/composites html/phoenix/starter_kit/primitives inside modules starter_kit
From: thom.heller_at_[hidden]
Date: 2011-02-02 06:00:57
Author: theller
Date: 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
New Revision: 68612
URL: http://svn.boost.org/trac/boost/changeset/68612
Log:
first try for expression and actor documentation
Added:
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/adding_expressions.html (contents, props changed)
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html (contents, props changed)
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/arguments.html (contents, props changed)
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/construct__new__delete__casts.html (contents, props changed)
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html (contents, props changed)
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html (contents, props changed)
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_statements.html (contents, props changed)
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/more.html (contents, props changed)
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/references.html (contents, props changed)
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/values.html (contents, props changed)
Binary files modified:
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/images/funnel_in.png
Text files modified:
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/basics.qbk | 2
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/index.html | 52 +++++------
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/actor.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/basics.html | 30 +++---
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside.html | 15 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/actor.html | 141 ++++++++++++++++++++++++++------
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/expression.html | 172 ++++++++++++++++++++++++++++++++++++---
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/introduction.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html | 12 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_other_boost_bind.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/arguments.html | 14 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/nothing.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/references.html | 10 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/values.html | 8
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/function.html | 12 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/fusion.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/casts.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/construction.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/delete.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/new.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/operator.html | 44 +++++-----
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html | 12 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/let.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement.html | 12 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html | 10 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html | 14 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl/container.html | 76 ++++++++--------
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/organization.html | 32 +++---
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit.html | 50 +++++-----
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/construct__new__delete__casts.html | 8
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html | 18 ++--
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html | 18 ++--
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_statements.html | 8
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/more.html | 8
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives.html | 6
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/arguments.html | 8
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/references.html | 8
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html | 12 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest | 21 ++--
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside.qbk | 5
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/actor.qbk | 85 ++++++++++++++++++-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/expression.qbk | 65 ++++++++++++++
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/bind.qbk | 2
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/operator.qbk | 4
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/statement.qbk | 4
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/organisation.qbk | 8
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/phoenix3.qbk | 8 +
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/starter_kit.qbk | 16 +-
sandbox/SOC/2010/phoenix3/libs/phoenix/doc/starter_kit/operator.qbk | 10 +-
67 files changed, 785 insertions(+), 423 deletions(-)
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/basics.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/basics.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/basics.qbk 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -65,7 +65,7 @@
[heading STL and higher order functions]
So, what's all the fuss? What makes partial function application so useful?
-Recall our original example in the [link phoenix.starter_kit.composites.lazy_operators
+Recall our original example in the [link phoenix.starter_kit.lazy_operators
previous section]:
std::find_if(c.begin(), c.end(), arg1 % 2 == 1)
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/images/funnel_in.png
==============================================================================
Binary files. No diff available.
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,15 +3,15 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Chapter 1. Phoenix 3.0</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="index.html" title="Chapter 1. Phoenix 3.0">
<link rel="next" href="phoenix/introduction.html" title="Introduction">
</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="n" href="phoenix/introduction.html"><img src="images/next.png" alt="Next"></a></div>
-<div class="chapter" lang="en">
+<div class="chapter">
<div class="titlepage"><div>
<div><h2 class="title">
<a name="phoenix"></a>Chapter 1. Phoenix 3.0</h2></div>
@@ -26,7 +26,7 @@
</h3></div></div>
<div><p class="copyright">Copyright © 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller</p></div>
<div><div class="legalnotice">
-<a name="id2813763"></a><p>
+<a name="id679074"></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>
@@ -38,24 +38,15 @@
<dt><span class="section">Introduction</span></dt>
<dt><span class="section">Starter Kit</span></dt>
<dd><dl>
-<dt><span class="section">Primitives</span></dt>
-<dd><dl>
-<dt><span class="section">Values</span></dt>
-<dt><span class="section">References</span></dt>
-<dt><span class="section">Arguments</span></dt>
-</dl></dd>
-<dt><span class="section">Composites</span></dt>
-<dd><dl>
-<dt><span class="section"><a href="phoenix/starter_kit/composites/lazy_operators.html">Lazy
- Operators</a></span></dt>
-<dt><span class="section"><a href="phoenix/starter_kit/composites/lazy_statements.html">Lazy
- Statements</a></span></dt>
-<dt><span class="section"><a href="phoenix/starter_kit/composites/construct__new__delete__casts.html">Construct,
- New, Delete, Casts</a></span></dt>
-<dt><span class="section"><a href="phoenix/starter_kit/composites/lazy_functions.html">Lazy
- Functions</a></span></dt>
-<dt><span class="section">More</span></dt>
-</dl></dd>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<dt><span class="section">Lazy Operators</span></dt>
+<dt><span class="section">Lazy Statements</span></dt>
+<dt><span class="section"><a href="phoenix/starter_kit/construct__new__delete__casts.html">Construct,
+ New, Delete, Casts</a></span></dt>
+<dt><span class="section">Lazy Functions</span></dt>
+<dt><span class="section">More</span></dt>
</dl></dd>
<dt><span class="section">Basics</span></dt>
<dt><span class="section">Organization</span></dt>
@@ -118,14 +109,15 @@
</dl></dd>
<dt><span class="section">Inside Phoenix</span></dt>
<dd><dl>
-<dt><span class="section">Phoenix Expressions in Detail</span></dt>
<dt><span class="section">Actors in Detail</span></dt>
+<dt><span class="section">Phoenix Expressions</span></dt>
<dt><span class="section">Custom Terminals</span></dt>
+<dt><span class="section">Adding Expressions</span></dt>
</dl></dd>
</dl>
</div>
<a name="phoenix.preface"></a><h2>
-<a name="id2813786"></a>
+<a name="id709770"></a>
<a class="link" href="index.html#phoenix.preface">Preface</a>
</h2>
<div class="blockquote"><blockquote class="blockquote"><p>
@@ -144,7 +136,7 @@
<span class="inlinemediaobject"><img src="images/lambda_cpp.png" alt="lambda_cpp"></span>
</p>
<a name="phoenix.description"></a><h3>
-<a name="id2774065"></a>
+<a name="id677877"></a>
<a class="link" href="index.html#phoenix.description">Description</a>
</h3>
<p>
@@ -162,7 +154,7 @@
library is organized in highly independent modules and layers.
</p>
<a name="phoenix.how_to_use_this_manual"></a><h3>
-<a name="id2774118"></a>
+<a name="id677924"></a>
<a class="link" href="index.html#phoenix.how_to_use_this_manual">How to use this manual</a>
</h3>
<p>
@@ -184,7 +176,7 @@
icons precede some text to indicate:
</p>
<div class="table">
-<a name="id2774162"></a><p class="title"><b>Table 1.1. Icons</b></p>
+<a name="id677959"></a><p class="title"><b>Table 1.1. Icons</b></p>
<div class="table-contents"><table class="table" summary="Icons">
<colgroup>
<col>
@@ -265,7 +257,7 @@
</table></div>
</div>
<br class="table-break"><div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="images/note.png" alt="note"></span> Unless otherwise noted <code class="computeroutput"><span class="keyword">using</span>
<span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">;</span></code>
@@ -273,12 +265,12 @@
</p>
</div>
<a name="phoenix._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"></a><h3>
-<a name="id2773133"></a>
+<a name="id718727"></a>
<a class="link" href="index.html#phoenix._emphasis_role__bold___emphasis____to_my_dear_daughter__phoenix__emphasis___emphasis_"><span class="bold"><strong><span class="emphasis"><em>...To my dear daughter, Phoenix</em></span></strong></span></a>
</h3>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: February 01, 2011 at 16:54:12 GMT</small></p></td>
+<td align="left"><p><small>Last revised: February 02, 2011 at 10:55:25 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/actor.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/actor.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/actor.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Actor</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="prev" href="organization.html" title="Organization">
<link rel="next" href="modules.html" title="Modules">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="organization.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="modules.html"><img src="../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="phoenix.actor"></a><a class="link" href="actor.html" title="Actor">Actor</a>
</h2></div></div></div>
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,19 +3,19 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Basics</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
-<link rel="prev" href="starter_kit/composites/more.html" title="More">
+<link rel="prev" href="starter_kit/more.html" title="More">
<link rel="next" href="organization.html" title="Organization">
</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="starter_kit/composites/more.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="organization.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="starter_kit/more.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="organization.html"><img src="../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="phoenix.basics"></a><a class="link" href="basics.html" title="Basics">Basics</a>
</h2></div></div></div>
@@ -42,7 +42,7 @@
</p></td></tr>
</table></div>
<a name="phoenix.basics.partial_function_application"></a><h4>
-<a name="id2826669"></a>
+<a name="id722113"></a>
<a class="link" href="basics.html#phoenix.basics.partial_function_application">Partial Function
Application</a>
</h4>
@@ -94,13 +94,13 @@
black boxes anymore.
</p>
<a name="phoenix.basics.stl_and_higher_order_functions"></a><h4>
-<a name="id2826911"></a>
+<a name="id722329"></a>
<a class="link" href="basics.html#phoenix.basics.stl_and_higher_order_functions">STL and higher
order functions</a>
</h4>
<p>
So, what's all the fuss? What makes partial function application so useful?
- Recall our original example in the <a class="link" href="starter_kit/composites/lazy_operators.html" title="Lazy Operators">previous
+ Recall our original example in the <a class="link" href="starter_kit/lazy_operators.html" title="Lazy Operators">previous
section</a>:
</p>
<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
@@ -126,17 +126,17 @@
</p></td></tr>
</table></div>
<a name="phoenix.basics.lazy_evaluation"></a><h4>
-<a name="id2827139"></a>
+<a name="id722540"></a>
<a class="link" href="basics.html#phoenix.basics.lazy_evaluation">Lazy Evaluation</a>
</h4>
<p>
In Phoenix, to put it more accurately, function evaluation has two stages:
</p>
-<div class="orderedlist"><ol type="1">
-<li>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
Partial application
</li>
-<li>
+<li class="listitem">
Final evaluation
</li>
</ol></div>
@@ -181,7 +181,7 @@
</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</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"><<</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="id2827698"></a>
+<a name="id723082"></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="id2827855"></a>
+<a name="id723220"></a>
<a class="link" href="basics.html#phoenix.basics.polymorphic_functions">Polymorphic Functions</a>
</h4>
<p>
@@ -258,7 +258,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="starter_kit/composites/more.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="organization.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="starter_kit/more.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="organization.html"><img src="../images/next.png" alt="Next"></a>
</div>
</body>
</html>
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,26 +3,27 @@
<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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="prev" href="modules/fusion.html" title="Fusion">
-<link rel="next" href="inside/expression.html" title="Phoenix Expressions in Detail">
+<link rel="next" href="inside/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/expression.html"><img src="../images/next.png" alt="Next"></a>
+<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/actor.html"><img src="../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="phoenix.inside"></a><a class="link" href="inside.html" title="Inside Phoenix">Inside Phoenix</a>
</h2></div></div></div>
<div class="toc"><dl>
-<dt><span class="section">Phoenix Expressions in Detail</span></dt>
<dt><span class="section">Actors in Detail</span></dt>
+<dt><span class="section">Phoenix Expressions</span></dt>
<dt><span class="section">Custom Terminals</span></dt>
+<dt><span class="section">Adding Expressions</span></dt>
</dl></div>
<p>
This chapter explains in more detail how the library operates. The information
@@ -41,7 +42,7 @@
</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/expression.html"><img src="../images/next.png" alt="Next"></a>
+<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/actor.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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,25 +3,25 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Actors in Detail</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../inside.html" title="Inside Phoenix">
-<link rel="prev" href="expression.html" title="Phoenix Expressions in Detail">
-<link rel="next" href="custom_terminals.html" title="Custom Terminals">
+<link rel="prev" href="../inside.html" title="Inside Phoenix">
+<link rel="next" href="expression.html" title="Phoenix Expressions">
</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.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="../inside.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="expression.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<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_concept"></a><h5>
-<a name="id2857982"></a>
- <a class="link" href="actor.html#phoenix.inside.actor.actor_concept">Actor Concept</a>
+<a name="phoenix.inside.actor.actor"></a><h5>
+<a name="id752849"></a>
+ <a class="link" href="actor.html#phoenix.inside.actor.actor">Actor</a>
</h5>
<p>
The main concept is the <code class="computeroutput"><span class="identifier">Actor</span></code>.
@@ -45,10 +45,6 @@
the predefined maximum arity an actor can take. By default, <code class="computeroutput"><span class="identifier">PHOENIX_LIMIT</span></code> is set to 10.
</p></td></tr>
</table></div>
-<a name="phoenix.inside.actor._code__phrase_role__identifier__actor__phrase___code_"></a><h5>
-<a name="id2858086"></a>
- <a class="link" href="actor.html#phoenix.inside.actor._code__phrase_role__identifier__actor__phrase___code_"><code class="computeroutput"><span class="identifier">actor</span></code></a>
- </h5>
<p>
The <code class="computeroutput"><span class="identifier">actor</span></code> template class
models the <code class="computeroutput"><span class="identifier">Actor</span></code> concept:
@@ -74,7 +70,7 @@
</span><span class="special">};</span>
</pre>
<div class="table">
-<a name="id2858540"></a><p class="title"><b>Table 1.9. Actor Concept Requirements</b></p>
+<a name="id753366"></a><p class="title"><b>Table 1.9. Actor Concept Requirements</b></p>
<div class="table-contents"><table class="table" summary="Actor Concept Requirements">
<colgroup>
<col>
@@ -140,7 +136,7 @@
</table></div>
</div>
<br class="table-break"><a name="phoenix.inside.actor.function_call_operators"></a><h5>
-<a name="id2858846"></a>
+<a name="id753668"></a>
<a class="link" href="actor.html#phoenix.inside.actor.function_call_operators">Function Call
Operators</a>
</h5>
@@ -173,7 +169,7 @@
</td></tr>
</table></div>
<a name="phoenix.inside.actor.context"></a><h5>
-<a name="id2858964"></a>
+<a name="id753774"></a>
<a class="link" href="actor.html#phoenix.inside.actor.context">Context</a>
</h5>
<p>
@@ -184,7 +180,7 @@
all information necessary to evaluate the given expression.
</p>
<div class="table">
-<a name="id2859012"></a><p class="title"><b>Table 1.10. Context Concept Requirements</b></p>
+<a name="id753819"></a><p class="title"><b>Table 1.10. Context Concept Requirements</b></p>
<div class="table-contents"><table class="table" summary="Context Concept Requirements">
<colgroup>
<col>
@@ -282,21 +278,114 @@
</table></div>
</div>
<br class="table-break"><a name="phoenix.inside.actor.environment"></a><h5>
-<a name="id2859388"></a>
+<a name="id754186"></a>
<a class="link" href="actor.html#phoenix.inside.actor.environment">Environment</a>
</h5>
+<p>
+ The Environment is a model of <a href="http://www.boost.org/doc/libs/release/libs/fusion/doc/html/fusion/sequence/concepts/random_access_sequence.html" target="_top">Random
+ Access Sequence</a>.
+ </p>
+<p>
+ The arguments passed to the actor's function call operator are collected
+ inside the Environment:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/funnel_in.png" alt="funnel_in"></span>
+ </p>
+<p>
+ Other parts of the library (e.g. the scope module) extends the <code class="computeroutput"><span class="identifier">Environment</span></code> concept to hold other information
+ such as local variables, etc.
+ </p>
<a name="phoenix.inside.actor.actions"></a><h5>
-<a name="id2859408"></a>
+<a name="id754252"></a>
<a class="link" href="actor.html#phoenix.inside.actor.actions">Actions</a>
</h5>
-<a name="phoenix.inside.actor._code__phrase_role__identifier__evaluator__phrase___code_"></a><h5>
-<a name="id2859430"></a>
- <a class="link" href="actor.html#phoenix.inside.actor._code__phrase_role__identifier__evaluator__phrase___code_"><code class="computeroutput"><span class="identifier">evaluator</span></code></a>
+<p>
+ Actions is the part of Phoenix which are responsible for giving the actual
+ expressions a specific behaviour. During the traversal of the Phoenix Expression
+ Tree theses actions are called whenever a specified rule in the grammar matches.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">actions</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Rule</span><span class="special">></span>
+ <span class="keyword">struct</span> <span class="identifier">when</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The nested <code class="computeroutput"><span class="identifier">when</span></code> template
+ is required to be <a href="http://www.boost.org/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transform</a>. No Worries, you don't have to learn Boost.Proto
+ just yet! Phoenix provides some wrappers to let you define simple actions
+ without the need to dive deep into proto.
+ </p>
+<p>
+ Phoenix ships with a predefined <code class="computeroutput"><span class="identifier">default_actions</span></code>
+ class that evaluates the expressions with C++ semantics:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">default_actions</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Rule</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Dummy</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">></span>
+ <span class="keyword">struct</span> <span class="identifier">when</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_default</span><span class="special"><</span><span class="identifier">meta_grammar</span><span class="special">></span>
+ <span class="special">{};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ For more Information on how to use the default_actions class and how to attach
+ custom actions to the evaluation process, see the next sections.
+ </p>
+<a name="phoenix.inside.actor.evaluation"></a><h5>
+<a name="id754527"></a>
+ <a class="link" href="actor.html#phoenix.inside.actor.evaluation">Evaluation</a>
</h5>
-<a name="phoenix.inside.actor._code__phrase_role__identifier__result_of__phrase__phrase_role__special______phrase__phrase_role__identifier__actor__phrase___code_"></a><h5>
-<a name="id2859460"></a>
- <a class="link" href="actor.html#phoenix.inside.actor._code__phrase_role__identifier__result_of__phrase__phrase_role__special______phrase__phrase_role__identifier__actor__phrase___code_"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span></code></a>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">evaluator</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">></span>
+ <span class="emphasis"><em>unspecified</em></span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Expr</span> <span class="special">&,</span> <span class="identifier">Context</span> <span class="special">&);</span>
+<span class="special">};</span>
+
+<span class="identifier">evaluator</span> <span class="keyword">const</span> <span class="identifier">eval</span> <span class="special">=</span> <span class="special">{};</span>
+</pre>
+<p>
+ The evaluation of a Phoenix expression is started by a call to the function
+ call operator of <code class="computeroutput"><span class="identifier">evaluator</span></code>.
+ </p>
+<p>
+ The evaluator is called by the <code class="computeroutput"><span class="identifier">actor</span></code>
+ functio operator overloads after the context is built up. For reference,
+ here is a typical <code class="computeroutput"><span class="identifier">actor</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code>
+ that accepts two arguments:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">></span>
+<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special"><</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">T0</span> <span class="special">&,</span> <span class="identifier">T1</span> <span class="special">&>::</span><span class="identifier">type</span>
+<span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span> <span class="special">&</span><span class="identifier">t0</span><span class="special">,</span> <span class="identifier">T1</span> <span class="special">&</span><span class="identifier">t1</span><span class="special">)</span> <span class="keyword">const</span>
+<span class="special">{</span>
+ <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special"><</span><span class="identifier">T0</span> <span class="special">&,</span> <span class="identifier">T1</span> <span class="special">&></span> <span class="identifier">env</span><span class="special">(</span><span class="identifier">t0</span><span class="special">,</span> <span class="identifier">t1</span><span class="special">);</span>
+
+ <span class="keyword">return</span> <span class="identifier">eval</span><span class="special">(*</span><span class="keyword">this</span><span class="special">,</span> <span class="identifier">context</span><span class="special">(</span><span class="identifier">env</span><span class="special">,</span> <span class="identifier">default_actions</span><span class="special">()));</span>
+<span class="special">}</span>
+</pre>
+<a name="phoenix.inside.actor.result_of__actor"></a><h5>
+<a name="id755032"></a>
+ <a class="link" href="actor.html#phoenix.inside.actor.result_of__actor">result_of::actor</a>
</h5>
+<p>
+ For reasons of symmetry to the family of <code class="computeroutput"><span class="identifier">actor</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> there is a special metafunction usable
+ for actor result type calculation named <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span></code>.
+ This metafunction allows us to directly to specify the types of the parameters
+ to be passed to the <code class="computeroutput"><span class="identifier">actor</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> function. Here's a typical <code class="computeroutput"><span class="identifier">actor_result</span></code> that accepts two arguments:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">></span>
+ <span class="keyword">struct</span> <span class="identifier">actor</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special"><</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">></span> <span class="identifier">env_tpe</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">context</span><span class="special"><</span><span class="identifier">env_type</span><span class="special">,</span> <span class="identifier">default_actions</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">ctx_type</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special"><</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span><span class="special">&,</span> <span class="identifier">ctx_type</span><span class="special">)>::</span><span class="identifier">type</span> <span class="identifier">type</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>
@@ -308,7 +397,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="expression.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="../inside.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="expression.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/adding_expressions.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/adding_expressions.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,33 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Adding Expressions</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 1. Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" 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="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>
+</div>
+<div class="section"><div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.inside.adding_expressions"></a><a class="link" href="adding_expressions.html" title="Adding Expressions">Adding Expressions</a>
+</h3></div></div></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 © 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="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>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Custom Terminals</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 1. Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="expression.html" title="Phoenix Expressions">
+<link rel="next" href="adding_expressions.html" title="Adding Expressions">
+</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.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="adding_expressions.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.custom_terminals"></a><a class="link" href="custom_terminals.html" title="Custom Terminals">Custom Terminals</a>
+</h3></div></div></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 © 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="expression.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="adding_expressions.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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -1,33 +1,171 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Phoenix Expressions in Detail</title>
+<title>Phoenix Expressions</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../inside.html" title="Inside Phoenix">
-<link rel="prev" href="../inside.html" title="Inside Phoenix">
-<link rel="next" href="actor.html" title="Actors in Detail">
+<link rel="prev" href="actor.html" title="Actors in Detail">
+<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="../inside.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="actor.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="actor.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" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="phoenix.inside.expression"></a><a class="link" href="expression.html" title="Phoenix Expressions in Detail">Phoenix Expressions in Detail</a>
+<a name="phoenix.inside.expression"></a><a class="link" href="expression.html" title="Phoenix Expressions">Phoenix Expressions</a>
</h3></div></div></div>
-<a name="phoenix.inside.expression._code__phrase_role__identifier__meta_grammar__phrase___code_"></a><h5>
-<a name="id2857914"></a>
- <a class="link" href="expression.html#phoenix.inside.expression._code__phrase_role__identifier__meta_grammar__phrase___code_"><code class="computeroutput"><span class="identifier">meta_grammar</span></code></a>
- </h5>
-<a name="phoenix.inside.expression.adding_an_expression"></a><h5>
-<a name="id2857946"></a>
- <a class="link" href="expression.html#phoenix.inside.expression.adding_an_expression">Adding an
- expression</a>
+<p>
+ A Phoenix Expression is a model of the <a href="http://www.boost.org/doc/libs/release/doc/html/Expr.html" target="_top">Proto
+ Expression</a> Concept. These expressions are wrapped inside an <a class="link" href="actor.html" title="Actors in Detail">phoenix.inside.actor</a> template. The
+ <code class="computeroutput"><span class="identifier">actor</span></code> provides the function
+ call operator which evaluates the expressions. The <code class="computeroutput"><span class="identifier">actor</span></code>
+ is the domain specific wrapper around phoenix expressions.
+ </p>
+<p>
+ By design, Phoenix Expressions do not carry any information on how they will
+ be evaluated later on. They are the data structure on which the <code class="computeroutput"><span class="identifier">Actions</span></code> will work on.
+ </p>
+<p>
+ The library provides a convenience template to define expressions:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span><span class="special">></span> <span class="identifier">Actor</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">></span>
+<span class="keyword">struct</span> <span class="identifier">expr_ext</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">transform</span><span class="special"><</span><span class="identifier">expr_ext</span><span class="special"><</span><span class="identifier">Actor</span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">A1</span><span class="special">></span> <span class="special">></span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">base_expr</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Actor</span><span class="special"><</span><span class="identifier">base_expr</span><span class="special">></span> <span class="identifier">type</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">proto_grammar</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">type</span> <span class="identifier">make</span><span class="special">(</span><span class="identifier">A0</span> <span class="identifier">a0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">></span>
+<span class="keyword">struct</span> <span class="identifier">expr</span> <span class="special">:</span> <span class="identifier">expr_ext</span><span class="special"><</span><span class="identifier">actor</span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">A1</span><span class="special">></span> <span class="special">{};</span>
+</pre>
+<p>
+ <span class="bold"><strong>Notation</strong></span>
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span></code></span></dt>
+<dd><p>
+ Child node types
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span><span class="special">...</span><span class="identifier">aN</span></code></span></dt>
+<dd><p>
+ Child node objects
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">G0</span><span class="special">...</span><span class="identifier">GN</span></code></span></dt>
+<dd><p>
+ Boost.Proto
+ grammar types
+ </p></dd>
+</dl>
+</div>
+<p>
+ <span class="bold"><strong>Expression Semantics</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expr</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span><span class="special">>::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of Expression having tag <code class="computeroutput"><span class="identifier">Tag</span></code>
+ and <code class="computeroutput"><span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span></code> children
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expr</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span>
+ <span class="identifier">G0</span><span class="special">...</span><span class="identifier">GN</span><span class="special">></span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A Boost.Proto
+ grammar and <a href="http://www.boost.org/doc/libs/release/doc/html/boost/proto/pass_through.html" target="_top">Proto
+ Pass Through Transform</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expr</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span><span class="special">>::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">a0</span><span class="special">...</span><span class="identifier">aN</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a Phoenix Expression
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<a name="phoenix.inside.expression.meta_grammar"></a><h5>
+<a name="id756398"></a>
+ <a class="link" href="expression.html#phoenix.inside.expression.meta_grammar">meta_grammar</a>
</h5>
+<p>
+ Defining Expressions is only part of the game to make it a valid Phoenix
+ Expression. In order to use the expressions in the Phoenix domain, we need
+ to "register" our newly created to our grammar.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">meta_grammar</span></code> is a struct
+ for exactly that purpose. It is an openly extendable Boost.Proto
+ Grammar:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">meta_grammar</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">switch_</span><span class="special"><</span><span class="identifier">meta_grammar</span><span class="special">></span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Dummy</span><span class="special">></span>
+ <span class="keyword">struct</span> <span class="identifier">case_</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">not_</span><span class="special"><</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">></span>
+ <span class="special">{};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ As you can see, by default the <code class="computeroutput"><span class="identifier">meta_grammar</span></code>
+ matches nothing. With every <a class="link" href="../modules.html" title="Modules">Module</a>
+ you include this grammar gets extended by various expressions.
+ </p>
+<p>
+ See <a class="link" href="adding_expressions.html" title="Adding Expressions">Adding Expressions</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>
@@ -39,7 +177,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../inside.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="actor.html"><img src="../../images/next.png" alt="Next"></a>
+<a accesskey="p" href="actor.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>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/introduction.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/introduction.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/introduction.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Introduction</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="prev" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="next" href="starter_kit.html" title="Starter Kit">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../index.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="starter_kit.html"><img src="../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="phoenix.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
</h2></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Modules</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="prev" href="actor.html" title="Actor">
<link rel="next" href="modules/core.html" title="Core">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="actor.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="modules/core.html"><img src="../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="phoenix.modules"></a><a class="link" href="modules.html" title="Modules">Modules</a>
</h2></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Bind</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../modules.html" title="Modules">
<link rel="prev" href="scope/lambda.html" title="lambda">
<link rel="next" href="bind/binding_functions.html" title="Binding Functions">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="scope/lambda.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="bind/binding_functions.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.modules.bind"></a><a class="link" href="bind.html" title="Bind">Bind</a>
</h3></div></div></div>
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Binding Functions</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../bind.html" title="Bind">
<link rel="prev" href="../bind.html" title="Bind">
<link rel="next" href="binding_member_functions.html" title="Binding Member Functions">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../bind.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.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="binding_member_functions.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<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>
@@ -36,9 +36,9 @@
<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span>
</pre>
<p>
- This is now a full-fledged composite that can finally be evaluated by another
- function call invocation. A second function call will invoke the actual
- <code class="computeroutput"><span class="identifier">foo</span></code> function. Example:
+ This is now a full-fledged expression that can finally be evaluated by
+ another function call invocation. A second function call will invoke the
+ actual <code class="computeroutput"><span class="identifier">foo</span></code> function. Example:
</p>
<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)(</span><span class="number">4</span><span class="special">);</span>
</pre>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Binding Member Functions</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../bind.html" title="Bind">
<link rel="prev" href="binding_functions.html" title="Binding Functions">
<link rel="next" href="binding_member_variables.html" title="Binding Member Variables">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="binding_functions.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.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="binding_member_variables.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<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>
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Binding Member Variables</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../bind.html" title="Bind">
<link rel="prev" href="binding_member_functions.html" title="Binding Member Functions">
<link rel="next" href="compatibility_with_other_boost_bind.html" title="Compatibility with other Boost.Bind">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="binding_member_functions.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.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="compatibility_with_other_boost_bind.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<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>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_other_boost_bind.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_other_boost_bind.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_other_boost_bind.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Compatibility with other Boost.Bind</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../bind.html" title="Bind">
<link rel="prev" href="binding_member_variables.html" title="Binding Member Variables">
<link rel="next" href="../stl.html" title="STL">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="binding_member_variables.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.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="../stl.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.bind.compatibility_with_other_boost_bind"></a><a class="link" href="compatibility_with_other_boost_bind.html" title="Compatibility with other Boost.Bind">Compatibility
with other Boost.Bind</a>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Core</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../modules.html" title="Modules">
<link rel="prev" href="../modules.html" title="Modules">
<link rel="next" href="core/values.html" title="Values">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../modules.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="core/values.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.modules.core"></a><a class="link" href="core.html" title="Core">Core</a>
</h3></div></div></div>
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Arguments</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../core.html" title="Core">
<link rel="prev" href="references.html" title="References">
<link rel="next" href="nothing.html" title="Nothing">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="references.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="nothing.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.core.arguments"></a><a class="link" href="arguments.html" title="Arguments">Arguments</a>
</h4></div></div></div>
@@ -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="id2830954"></a>
+<a name="id726166"></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="id2831499"></a>
+<a name="id726692"></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="id2831662"></a>
+<a name="id726843"></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="id2831970"></a>
+<a name="id727140"></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/nothing.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/nothing.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/core/nothing.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Nothing</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../core.html" title="Core">
<link rel="prev" href="arguments.html" title="Arguments">
<link rel="next" href="../function.html" title="Function">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="arguments.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="../function.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.core.nothing"></a><a class="link" href="nothing.html" title="Nothing">Nothing</a>
</h4></div></div></div>
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>References</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../core.html" title="Core">
<link rel="prev" href="values.html" title="Values">
<link rel="next" href="arguments.html" title="Arguments">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="values.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="arguments.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.core.references"></a><a class="link" href="references.html" title="References">References</a>
</h4></div></div></div>
@@ -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="id2830526"></a>
+<a name="id725764"></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="id2830670"></a>
+<a name="id725900"></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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Values</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../core.html" title="Core">
<link rel="prev" href="../core.html" title="Core">
<link rel="next" href="references.html" title="References">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../core.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="references.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.core.values"></a><a class="link" href="values.html" title="Values">Values</a>
</h4></div></div></div>
@@ -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="id2830016"></a>
+<a name="id725282"></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/function.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/function.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/function.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Function</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../modules.html" title="Modules">
<link rel="prev" href="core/nothing.html" title="Nothing">
<link rel="next" href="operator.html" title="Operator">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="core/nothing.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="operator.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.modules.function"></a><a class="link" href="function.html" title="Function">Function</a>
</h3></div></div></div>
@@ -39,14 +39,14 @@
Function Object</a> concept. For a function that takes <code class="computeroutput"><span class="identifier">N</span></code> arguments, a model of <a href="http://www.boost.org/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html" target="_top">Polymorphic
Function Object</a> must provide:
</p>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
An <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>
that takes <code class="computeroutput"><span class="identifier">N</span></code> arguments,
and implements the function logic. This is also true for ordinary function
pointers.
</li>
-<li>
+<li class="listitem">
A nested metafunction <code class="computeroutput"><span class="identifier">result</span><span class="special"><</span><span class="identifier">Signature</span><span class="special">></span></code> or nested typedef <code class="computeroutput"><span class="identifier">result_type</span></code>,
following the <a href="http://www.boost.org/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
Of</a> Protocol
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/fusion.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/fusion.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/fusion.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Fusion</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../modules.html" title="Modules">
<link rel="prev" href="stl/algorithm.html" title="Algorithm">
<link rel="next" href="../inside.html" title="Inside Phoenix">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="stl/algorithm.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../inside.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.modules.fusion"></a><a class="link" href="fusion.html" title="Fusion">Fusion</a>
</h3></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Object</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../modules.html" title="Modules">
<link rel="prev" href="statement/throw_.html" title="throw_">
<link rel="next" href="object/construction.html" title="Construction">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="statement/throw_.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="object/construction.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.modules.object"></a><a class="link" href="object.html" title="Object">Object</a>
</h3></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/casts.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/casts.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/casts.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Casts</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../object.html" title="Object">
<link rel="prev" href="delete.html" title="Delete">
<link rel="next" href="../scope.html" title="Scope">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="delete.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="../scope.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.object.casts"></a><a class="link" href="casts.html" title="Casts">Casts</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/construction.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/construction.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/construction.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Construction</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../object.html" title="Object">
<link rel="prev" href="../object.html" title="Object">
<link rel="next" href="new.html" title="New">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../object.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="new.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.object.construction"></a><a class="link" href="construction.html" title="Construction">Construction</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/delete.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/delete.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/delete.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Delete</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../object.html" title="Object">
<link rel="prev" href="new.html" title="New">
<link rel="next" href="casts.html" title="Casts">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="new.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="casts.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.object.delete"></a><a class="link" href="delete.html" title="Delete">Delete</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/new.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/new.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/object/new.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>New</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../object.html" title="Object">
<link rel="prev" href="construction.html" title="Construction">
<link rel="next" href="delete.html" title="Delete">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="construction.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="delete.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.object.new"></a><a class="link" href="new.html" title="New">New</a>
</h4></div></div></div>
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Operator</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../modules.html" title="Modules">
<link rel="prev" href="function.html" title="Function">
<link rel="next" href="statement.html" title="Statement">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="function.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="statement.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.modules.operator"></a><a class="link" href="operator.html" title="Operator">Operator</a>
</h3></div></div></div>
@@ -33,7 +33,7 @@
<span class="identifier">arg1</span> <span class="special"><</span> <span class="number">150</span>
</pre>
<p>
- We have seen the lazy operators in action (see <a class="link" href="../starter_kit/composites/lazy_operators.html" title="Lazy Operators">Quick
+ We have seen the lazy operators in action (see <a class="link" href="../starter_kit/lazy_operators.html" title="Lazy Operators">Quick
Start - Lazy Operators</a>). Let's go back and examine them a little bit
further:
</p>
@@ -43,7 +43,7 @@
Through operator overloading, the expression <code class="computeroutput"><span class="identifier">arg1</span>
<span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> actually
generates an actor. This actor object is passed on to STL's <code class="computeroutput"><span class="identifier">find_if</span></code> function. From the viewpoint of
- STL, the composite is simply a function object expecting a single argument
+ STL, the expression is simply a function object expecting a single argument
of the containers value_type. For each element in <code class="computeroutput"><span class="identifier">c</span></code>,
the element is passed on as an argument <code class="computeroutput"><span class="identifier">arg1</span></code>
to the actor (function object). The actor checks if this is an odd value
@@ -71,20 +71,20 @@
<p>
Operator expressions are lazily evaluated following four simple rules:
</p>
-<div class="orderedlist"><ol type="1">
-<li>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
A binary operator, except <code class="computeroutput"><span class="special">->*</span></code>
will be lazily evaluated when <span class="emphasis"><em>at least</em></span> one of its
operands is an actor object (see <a class="link" href="../actor.html" title="Actor">Actor</a>).
</li>
-<li>
+<li class="listitem">
Unary operators are lazily evaluated if their argument is an actor object.
</li>
-<li>
+<li class="listitem">
Operator <code class="computeroutput"><span class="special">->*</span></code> is lazily
evaluated if the left hand argument is an actor object.
</li>
-<li>
+<li class="listitem">
The result of a lazy operator is an actor object that can in turn allow
the applications of rules 1, 2 and 3.
</li>
@@ -94,26 +94,26 @@
</p>
<pre class="programlisting"><span class="special">-(</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span> <span class="special">+</span> <span class="number">6</span><span class="special">)</span>
</pre>
-<div class="orderedlist"><ol type="1">
-<li>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
Following rule 1, <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span></code> is
lazily evaluated since <code class="computeroutput"><span class="identifier">arg1</span></code>
is an actor (see <a class="link" href="core/arguments.html" title="Arguments">Arguments</a>).
</li>
-<li>
+<li class="listitem">
The result of this <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span></code> expression
is an actor object, following rule 4.
</li>
-<li>
+<li class="listitem">
Continuing, <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span>
<span class="number">3</span> <span class="special">+</span> <span class="number">6</span></code> is again lazily evaluated. Rule 2.
</li>
-<li>
+<li class="listitem">
By rule 4 again, the result of <code class="computeroutput"><span class="identifier">arg1</span>
<span class="special">+</span> <span class="number">3</span> <span class="special">+</span> <span class="number">6</span></code> is
an actor object.
</li>
-<li>
+<li class="listitem">
As <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span>
<span class="number">3</span> <span class="special">+</span> <span class="number">6</span></code> is an actor, <code class="computeroutput"><span class="special">-(</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span> <span class="special">+</span> <span class="number">6</span><span class="special">)</span></code> is lazily evaluated. Rule 2.
</li>
@@ -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"><<</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="id2834253"></a>
+<a name="id729577"></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="id2834273"></a>
+<a name="id729596"></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">&</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="id2834405"></a>
+<a name="id729727"></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">&=,</span> <span class="special">|=,</span> <span class="special">^=,</span> <span class="special"><<=,</span> <span class="special">>>=</span>
@@ -154,7 +154,7 @@
<span class="special">&&,</span> <span class="special">||,</span> <span class="special">->*</span>
</pre>
<a name="phoenix.modules.operator.ternary_operator"></a><h5>
-<a name="id2834606"></a>
+<a name="id729929"></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="id2834713"></a>
+<a name="id730030"></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">->*&</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->func(i)
</span></pre>
<a name="phoenix.modules.operator.include_files"></a><h5>
-<a name="id2835102"></a>
+<a name="id730410"></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/scope.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Scope</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../modules.html" title="Modules">
<link rel="prev" href="object/casts.html" title="Casts">
<link rel="next" href="scope/local_variables.html" title="Local Variables">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="object/casts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="scope/local_variables.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.modules.scope"></a><a class="link" href="scope.html" title="Scope">Scope</a>
</h3></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>lambda</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../scope.html" title="Scope">
<link rel="prev" href="let.html" title="let">
<link rel="next" href="../bind.html" title="Bind">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="let.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="../bind.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.scope.lambda"></a><a class="link" href="lambda.html" title="lambda">lambda</a>
</h4></div></div></div>
@@ -140,11 +140,11 @@
<p>
write a lambda expression that accepts:
</p>
-<div class="orderedlist"><ol type="1">
-<li>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
a 2-dimensional container (e.g. <code class="computeroutput"><span class="identifier">vector</span><span class="special"><</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">int</span><span class="special">></span> <span class="special">></span></code>)
</li>
-<li>
+<li class="listitem">
a container element (e.g. <code class="computeroutput"><span class="keyword">int</span></code>)
</li>
</ol></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/let.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/let.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/let.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>let</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../scope.html" title="Scope">
<link rel="prev" href="local_variables.html" title="Local Variables">
<link rel="next" href="lambda.html" title="lambda">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="local_variables.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="lambda.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.scope.let"></a><a class="link" href="let.html" title="let">let</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Local Variables</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../scope.html" title="Scope">
<link rel="prev" href="../scope.html" title="Scope">
<link rel="next" href="let.html" title="let">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../scope.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="let.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.scope.local_variables"></a><a class="link" href="local_variables.html" title="Local Variables">Local Variables</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Statement</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../modules.html" title="Modules">
<link rel="prev" href="operator.html" title="Operator">
<link rel="next" href="statement/block_statement.html" title="Block Statement">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="operator.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="statement/block_statement.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.modules.statement"></a><a class="link" href="statement.html" title="Statement">Statement</a>
</h3></div></div></div>
@@ -37,9 +37,9 @@
<span class="bold"><strong><span class="emphasis"><em>Lazy statements...</em></span></strong></span>
</p>
<p>
- The primitives and composite building blocks presented so far are sufficiently
- powerful to construct quite elaborate structures. We have presented lazy-functions
- and lazy-operators. How about lazy-statements? First, an appetizer:
+ The expressions presented so far are sufficiently powerful to construct quite
+ elaborate structures. We have presented lazy-functions and lazy-operators.
+ How about lazy-statements? First, an appetizer:
</p>
<p>
Print all odd-numbered contents of an STL container using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>do_while_ Statement</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../statement.html" title="Statement">
<link rel="prev" href="while__statement.html" title="while_ Statement">
<link rel="next" href="for_statement.html" title="for_ Statement">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="while__statement.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="for_statement.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.statement.___do_while_____statement"></a><a class="link" href="___do_while_____statement.html" title="do_while_ Statement">do_while_ Statement</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>if_else_ Statement</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../statement.html" title="Statement">
<link rel="prev" href="if__statement.html" title="if_ Statement">
<link rel="next" href="switch__statement.html" title="switch_ Statement">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="if__statement.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="switch__statement.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.statement.___if_else_____statement"></a><a class="link" href="___if_else_____statement.html" title="if_else_ Statement">if_else_ Statement</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Block Statement</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../statement.html" title="Statement">
<link rel="prev" href="../statement.html" title="Statement">
<link rel="next" href="if__statement.html" title="if_ Statement">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../statement.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="if__statement.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.statement.block_statement"></a><a class="link" href="block_statement.html" title="Block Statement">Block Statement</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>for_ Statement</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../statement.html" title="Statement">
<link rel="prev" href="___do_while_____statement.html" title="do_while_ Statement">
<link rel="next" href="try__catch__statement.html" title="try_ catch_ Statement">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="___do_while_____statement.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="try__catch__statement.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.statement.for_statement"></a><a class="link" href="for_statement.html" title="for_ Statement">for_ Statement</a>
</h4></div></div></div>
@@ -53,8 +53,8 @@
</pre>
<p>
As before, all these are lazily evaluated. The result of such statements
- are in fact composites that are passed on to STL's for_each function. In
- the viewpoint of <code class="computeroutput"><span class="identifier">for_each</span></code>,
+ are in fact expressions that are passed on to STL's for_each function.
+ In the viewpoint of <code class="computeroutput"><span class="identifier">for_each</span></code>,
what was passed is just a functor, no more, no less.
</p>
</div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>if_ Statement</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../statement.html" title="Statement">
<link rel="prev" href="block_statement.html" title="Block Statement">
<link rel="next" href="___if_else_____statement.html" title="if_else_ Statement">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="block_statement.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___if_else_____statement.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.statement.if__statement"></a><a class="link" href="if__statement.html" title="if_ Statement">if_ Statement</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>switch_ Statement</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../statement.html" title="Statement">
<link rel="prev" href="___if_else_____statement.html" title="if_else_ Statement">
<link rel="next" href="while__statement.html" title="while_ Statement">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="___if_else_____statement.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="while__statement.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.statement.switch__statement"></a><a class="link" href="switch__statement.html" title="switch_ Statement">switch_
Statement</a>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>throw_</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../statement.html" title="Statement">
<link rel="prev" href="try__catch__statement.html" title="try_ catch_ Statement">
<link rel="next" href="../object.html" title="Object">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="try__catch__statement.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="../object.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.statement.throw_"></a><a class="link" href="throw_.html" title="throw_">throw_</a>
</h4></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>try_ catch_ Statement</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../statement.html" title="Statement">
<link rel="prev" href="for_statement.html" title="for_ Statement">
<link rel="next" href="throw_.html" title="throw_">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="for_statement.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="throw_.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.statement.try__catch__statement"></a><a class="link" href="try__catch__statement.html" title="try_ catch_ Statement">try_
catch_ Statement</a>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>while_ Statement</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../statement.html" title="Statement">
<link rel="prev" href="switch__statement.html" title="switch_ Statement">
<link rel="next" href="___do_while_____statement.html" title="do_while_ Statement">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="switch__statement.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___do_while_____statement.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.statement.while__statement"></a><a class="link" href="while__statement.html" title="while_ Statement">while_
Statement</a>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/modules/stl.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>STL</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../modules.html" title="Modules">
<link rel="prev" href="bind/compatibility_with_other_boost_bind.html" title="Compatibility with other Boost.Bind">
<link rel="next" href="stl/container.html" title="Container">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="bind/compatibility_with_other_boost_bind.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="stl/container.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.modules.stl"></a><a class="link" href="stl.html" title="STL">STL</a>
</h3></div></div></div>
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Algorithm</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../stl.html" title="STL">
<link rel="prev" href="container.html" title="Container">
<link rel="next" href="../fusion.html" title="Fusion">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="container.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="../fusion.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.stl.algorithm"></a><a class="link" href="algorithm.html" title="Algorithm">Algorithm</a>
</h4></div></div></div>
@@ -67,13 +67,13 @@
their semantics.
</p>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Arguments in brackets denote optional parameters.
</p>
</div>
<div class="table">
-<a name="id2849311"></a><p class="title"><b>Table 1.6. Iteration Algorithms</b></p>
+<a name="id744301"></a><p class="title"><b>Table 1.6. 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="id2849592"></a><p class="title"><b>Table 1.7. Querying Algorithms</b></p>
+<a name="id744579"></a><p class="title"><b>Table 1.7. 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="id2852077"></a><p class="title"><b>Table 1.8. Transformation Algorithms</b></p>
+<a name="id747051"></a><p class="title"><b>Table 1.8. 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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Container</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../stl.html" title="STL">
<link rel="prev" href="../stl.html" title="STL">
<link rel="next" href="algorithm.html" title="Algorithm">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../stl.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="algorithm.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.modules.stl.container"></a><a class="link" href="container.html" title="Container">Container</a>
</h4></div></div></div>
@@ -32,20 +32,20 @@
Lazy functions are provided for all of the member functions of the following
containers:
</p>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
deque
</li>
-<li>
+<li class="listitem">
list
</li>
-<li>
+<li class="listitem">
map
</li>
-<li>
+<li class="listitem">
multimap
</li>
-<li>
+<li class="listitem">
vector
</li>
</ul></div>
@@ -54,80 +54,80 @@
signatures as those listed below, then it will automatically be supported.
To summarize, lazy functions are provided for member functions:
</p>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
assign
</li>
-<li>
+<li class="listitem">
at
</li>
-<li>
+<li class="listitem">
back
</li>
-<li>
+<li class="listitem">
begin
</li>
-<li>
+<li class="listitem">
capacity
</li>
-<li>
+<li class="listitem">
clear
</li>
-<li>
+<li class="listitem">
empty
</li>
-<li>
+<li class="listitem">
end
</li>
-<li>
+<li class="listitem">
erase
</li>
-<li>
+<li class="listitem">
front
</li>
-<li>
+<li class="listitem">
get_allocator
</li>
-<li>
+<li class="listitem">
insert
</li>
-<li>
+<li class="listitem">
key_comp
</li>
-<li>
+<li class="listitem">
max_size
</li>
-<li>
+<li class="listitem">
pop_back
</li>
-<li>
+<li class="listitem">
pop_front
</li>
-<li>
+<li class="listitem">
push_back
</li>
-<li>
+<li class="listitem">
push_front
</li>
-<li>
+<li class="listitem">
rbegin
</li>
-<li>
+<li class="listitem">
rend
</li>
-<li>
+<li class="listitem">
reserve
</li>
-<li>
+<li class="listitem">
resize
</li>
-<li>
+<li class="listitem">
size
</li>
-<li>
+<li class="listitem">
splice
</li>
-<li>
+<li class="listitem">
value_comp
</li>
</ul></div>
@@ -137,7 +137,7 @@
does not use the member "dot" syntax.
</p>
<div class="table">
-<a name="id2846221"></a><p class="title"><b>Table 1.4. Sample usage</b></p>
+<a name="id741250"></a><p class="title"><b>Table 1.4. Sample usage</b></p>
<div class="table-contents"><table class="table" summary="Sample usage">
<colgroup>
<col>
@@ -209,13 +209,13 @@
The following table describes the container functions and their semantics.
</p>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Arguments in brackets denote optional parameters.
</p>
</div>
<div class="table">
-<a name="id2846570"></a><p class="title"><b>Table 1.5. Lazy STL Container Functions</b></p>
+<a name="id741589"></a><p class="title"><b>Table 1.5. 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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Organization</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="prev" href="basics.html" title="Basics">
<link rel="next" href="actor.html" title="Actor">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="basics.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="actor.html"><img src="../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="phoenix.organization"></a><a class="link" href="organization.html" title="Organization">Organization</a>
</h2></div></div></div>
@@ -26,17 +26,17 @@
<p>
The library is organized in four layers:
</p>
-<div class="orderedlist"><ol type="1">
-<li>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
Actor
</li>
-<li>
+<li class="listitem">
Value, Reference, Arguments
</li>
-<li>
+<li class="listitem">
Function, Operator, Object, Statement, Bind, Scope
</li>
-<li>
+<li class="listitem">
STL, Fusion
</li>
</ol></div>
@@ -52,7 +52,7 @@
files. There are no object files to link against.
</p>
<a name="phoenix.organization.core"></a><h3>
-<a name="id2828270"></a>
+<a name="id723612"></a>
<a class="link" href="organization.html#phoenix.organization.core">Core</a>
</h3>
<p>
@@ -63,16 +63,16 @@
is the main concept behind the library. Lazy functions are abstracted as actors.
</p>
<p>
- Primitives provide the basic building blocks of functionality within Phoenix.
- Composites are used to combine these primitives together to provide more powerful
+ Terminals provide the basic building blocks of functionality within Phoenix.
+ Expressions are used to combine these terminals together to provide more powerful
functionality.
</p>
<p>
- Composites are composed of zero or more actors. Each actor in a composite can
- again be another composite.
+ Expressions are composed of zero or more actors. Each actor in a composite
+ can again be another expression.
</p>
<div class="table">
-<a name="id2828313"></a><p class="title"><b>Table 1.2. Modules</b></p>
+<a name="id723651"></a><p class="title"><b>Table 1.2. 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"><</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">></span></code>.
</p>
<div class="table">
-<a name="id2828625"></a><p class="title"><b>Table 1.3. Includes</b></p>
+<a name="id723939"></a><p class="title"><b>Table 1.3. Includes</b></p>
<div class="table-contents"><table class="table" summary="Includes">
<colgroup>
<col>
@@ -331,7 +331,7 @@
</table></div>
</div>
<br class="table-break"><div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../images/tip.png" alt="tip"></span> Finer grained include files are available per feature;
see the succeeding sections.
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,41 +3,32 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Starter Kit</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="prev" href="introduction.html" title="Introduction">
-<link rel="next" href="starter_kit/primitives.html" title="Primitives">
+<link rel="next" href="starter_kit/values.html" title="Values">
</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="introduction.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="starter_kit/primitives.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="introduction.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="starter_kit/values.html"><img src="../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="phoenix.starter_kit"></a><a class="link" href="starter_kit.html" title="Starter Kit">Starter Kit</a>
</h2></div></div></div>
<div class="toc"><dl>
-<dt><span class="section">Primitives</span></dt>
-<dd><dl>
-<dt><span class="section">Values</span></dt>
-<dt><span class="section">References</span></dt>
-<dt><span class="section">Arguments</span></dt>
-</dl></dd>
-<dt><span class="section">Composites</span></dt>
-<dd><dl>
-<dt><span class="section"><a href="starter_kit/composites/lazy_operators.html">Lazy
- Operators</a></span></dt>
-<dt><span class="section"><a href="starter_kit/composites/lazy_statements.html">Lazy
- Statements</a></span></dt>
-<dt><span class="section"><a href="starter_kit/composites/construct__new__delete__casts.html">Construct,
- New, Delete, Casts</a></span></dt>
-<dt><span class="section"><a href="starter_kit/composites/lazy_functions.html">Lazy
- Functions</a></span></dt>
-<dt><span class="section">More</span></dt>
-</dl></dd>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<dt><span class="section">Lazy Operators</span></dt>
+<dt><span class="section">Lazy Statements</span></dt>
+<dt><span class="section"><a href="starter_kit/construct__new__delete__casts.html">Construct,
+ New, Delete, Casts</a></span></dt>
+<dt><span class="section">Lazy Functions</span></dt>
+<dt><span class="section">More</span></dt>
</dl></div>
<p>
Most "quick starts" only get you a few blocks from where you are.
@@ -61,7 +52,7 @@
into high gear quickly.
</p>
<a name="phoenix.starter_kit.functors_everywhere"></a><h4>
-<a name="id2773272"></a>
+<a name="id718832"></a>
<a class="link" href="starter_kit.html#phoenix.starter_kit.functors_everywhere">Functors everywhere</a>
</h4>
<p>
@@ -79,6 +70,15 @@
and <span class="emphasis"><em>"function"</em></span> are used interchangeably.
</p></td></tr>
</table></div>
+<p>
+ We start with some core functions that are called <span class="bold"><strong>primitives</strong></span>.
+ You can think of primitives (such as values, references and arguments) as atoms.
+ </p>
+<p>
+ Things start to get interesting when we start <span class="emphasis"><em>composing</em></span>
+ primitives to form <span class="bold"><strong>expressions</strong></span>. The expressions
+ can, in turn, be composed to form even more complex expressions.
+ </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
@@ -90,7 +90,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="introduction.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="starter_kit/primitives.html"><img src="../images/next.png" alt="Next"></a>
+<a accesskey="p" href="introduction.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="starter_kit/values.html"><img src="../images/next.png" alt="Next"></a>
</div>
</body>
</html>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/arguments.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/arguments.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,68 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Arguments</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 1. Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="references.html" title="References">
+<link rel="next" href="lazy_operators.html" title="Lazy Operators">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr><td valign="top"></td></tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="references.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_operators.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.starter_kit.arguments"></a><a class="link" href="arguments.html" title="Arguments">Arguments</a>
+</h3></div></div></div>
+<p>
+ Arguments are also functions? You bet!
+ </p>
+<p>
+ Until now, we have been dealing with expressions returning a nullary function.
+ Arguments, on the other hand, evaluate to an N-ary function. An argument
+ represents the Nth argument. There are a few predefined arguments arg1, arg2,
+ arg3, arg4 and so on (and it's BLL
+ counterparts: _1, _2, _3, _4 and so on). Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="comment">// one-or-more argument function that returns its first argument
+</span><span class="identifier">arg2</span> <span class="comment">// two-or-more argument function that returns its second argument
+</span><span class="identifier">arg3</span> <span class="comment">// three-or-more argument function that returns its third argument
+</span></pre>
+<p>
+ <code class="computeroutput"><span class="identifier">argN</span></code> returns the Nth argument.
+ Examples:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">arg1</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints 3
+</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">arg2</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">s</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints "Hello World"
+</span></pre>
+<p>
+ (See arguments.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about arguments <a class="link" href="../modules/core/arguments.html" title="Arguments">here.</a>
+ </p>
+</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 © 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="references.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_operators.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Composites</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../starter_kit.html" title="Starter Kit">
<link rel="prev" href="primitives/arguments.html" title="Arguments">
<link rel="next" href="composites/lazy_operators.html" title="Lazy Operators">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="primitives/arguments.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="composites/lazy_operators.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.starter_kit.composites"></a><a class="link" href="composites.html" title="Composites">Composites</a>
</h3></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/construct__new__delete__casts.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/construct__new__delete__casts.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/construct__new__delete__casts.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Construct, New, Delete, Casts</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../composites.html" title="Composites">
<link rel="prev" href="lazy_statements.html" title="Lazy Statements">
<link rel="next" href="lazy_functions.html" title="Lazy Functions">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="lazy_statements.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../composites.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="lazy_functions.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.starter_kit.composites.construct__new__delete__casts"></a><a class="link" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">Construct,
New, Delete, Casts</a>
@@ -40,7 +40,7 @@
</p></td></tr>
</table></div>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about this <a class="link" href="../../modules/object.html" title="Object">here.</a>
</p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_functions.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Lazy Functions</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../composites.html" title="Composites">
<link rel="prev" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">
<link rel="next" href="more.html" title="More">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="construct__new__delete__casts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../composites.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="more.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.starter_kit.composites.lazy_functions"></a><a class="link" href="lazy_functions.html" title="Lazy Functions">Lazy
Functions</a>
@@ -46,21 +46,21 @@
<span class="identifier">function</span><span class="special"><</span><span class="identifier">is_odd_impl</span><span class="special">></span> <span class="identifier">is_odd</span><span class="special">;</span>
</pre>
<a name="phoenix.starter_kit.composites.lazy_functions.things_to_note_"></a><h6>
-<a name="id2826153"></a>
+<a name="id683362"></a>
<a class="link" href="lazy_functions.html#phoenix.starter_kit.composites.lazy_functions.things_to_note_">Things
to note:</a>
</h6>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
Result type deduction is implemented with the help of the result_of
protocol. For more information see <a href="http://www.boost.org/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
Of</a>
</li>
-<li>
+<li class="listitem">
<code class="computeroutput"><span class="identifier">is_odd_impl</span></code> implements
the function.
</li>
-<li>
+<li class="listitem">
<code class="computeroutput"><span class="identifier">is_odd</span></code>, an instance
of <code class="computeroutput"><span class="identifier">function</span><span class="special"><</span><span class="identifier">is_odd_impl</span><span class="special">></span></code>,
is the lazy function.
@@ -77,7 +77,7 @@
(See function.cpp)
</p>
<a name="phoenix.starter_kit.composites.lazy_functions.predefined_lazy_functions"></a><h6>
-<a name="id2826343"></a>
+<a name="id683541"></a>
<a class="link" href="lazy_functions.html#phoenix.starter_kit.composites.lazy_functions.predefined_lazy_functions">Predefined
Lazy Functions</a>
</h6>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_operators.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Lazy Operators</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../composites.html" title="Composites">
<link rel="prev" href="../composites.html" title="Composites">
<link rel="next" href="lazy_statements.html" title="Lazy Statements">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../composites.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../composites.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="lazy_statements.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.starter_kit.composites.lazy_operators"></a><a class="link" href="lazy_operators.html" title="Lazy Operators">Lazy
Operators</a>
@@ -37,13 +37,13 @@
you will have to explicitly wrap your values in <code class="computeroutput"><span class="identifier">val</span></code>.
Rules of thumb:
</p>
-<div class="itemizedlist"><ul type="disc">
-<li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
In a binary expression (e.g. <code class="computeroutput"><span class="number">3</span>
<span class="special">*</span> <span class="identifier">arg3</span></code>),
at least one of the operands must be a phoenix primitive or composite.
</li>
-<li>
+<li class="listitem">
In a unary expression (e.g. <code class="computeroutput"><span class="identifier">arg1</span><span class="special">++</span></code>), the single operand must be a phoenix
primitive or composite.
</li>
@@ -64,13 +64,13 @@
</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</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="comment">// illegal (x is not a phoenix primitive or composite)
</span></pre>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about operators <a class="link" href="../../modules/operator.html" title="Operator">here.</a>
</p>
</div>
<a name="phoenix.starter_kit.composites.lazy_operators.first_practical_example"></a><h6>
-<a name="id2825025"></a>
+<a name="id682284"></a>
<a class="link" href="lazy_operators.html#phoenix.starter_kit.composites.lazy_operators.first_practical_example">First
Practical Example</a>
</h6>
@@ -113,7 +113,7 @@
(See find_if.cpp)
</p>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>That's it, we're done</strong></span>.
Well if you wish to know a little bit more, read on...
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_statements.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_statements.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/lazy_statements.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Lazy Statements</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../composites.html" title="Composites">
<link rel="prev" href="lazy_operators.html" title="Lazy Operators">
<link rel="next" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="lazy_operators.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../composites.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="construct__new__delete__casts.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.starter_kit.composites.lazy_statements"></a><a class="link" href="lazy_statements.html" title="Lazy Statements">Lazy
Statements</a>
@@ -44,7 +44,7 @@
(See if.cpp)
</p>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about statements <a class="link" href="../../modules/statement.html" title="Statement">here.</a>
</p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/more.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/more.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/composites/more.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>More</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../composites.html" title="Composites">
<link rel="prev" href="lazy_functions.html" title="Lazy Functions">
<link rel="next" href="../../basics.html" title="Basics">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="lazy_functions.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../composites.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="../../basics.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.starter_kit.composites.more"></a><a class="link" href="more.html" title="More">More</a>
</h4></div></div></div>
@@ -27,7 +27,7 @@
things (e.g. <a class="link" href="../../modules/bind.html" title="Bind">Bind</a> vs. <a class="link" href="../../modules/function.html" title="Function">Lazy Functions</a>).
</p>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>If you still wish to learn
more, the read on...</strong></span>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/construct__new__delete__casts.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/construct__new__delete__casts.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Construct, New, Delete, Casts</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 1. Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="lazy_statements.html" title="Lazy Statements">
+<link rel="next" href="lazy_functions.html" title="Lazy Functions">
+</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="lazy_statements.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_functions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.starter_kit.construct__new__delete__casts"></a><a class="link" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">Construct,
+ New, Delete, Casts</a>
+</h3></div></div></div>
+<p>
+ You'll probably want to work with objects. There are lazy versions of constructor
+ calls, <code class="computeroutput"><span class="keyword">new</span></code>, <code class="computeroutput"><span class="keyword">delete</span></code>
+ and the suite of C++ casts. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">construct</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// constructs a std::string from arg1, arg2
+</span><span class="identifier">new_</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// makes a new std::string from arg1, arg2
+</span><span class="identifier">delete_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// deletes arg1 (assumed to be a pointer)
+</span><span class="identifier">static_cast_</span><span class="special"><</span><span class="keyword">int</span><span class="special">*>(</span><span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// static_cast's arg1 to an int*
+</span></pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Take note that, by convention, names that conflict with C++ reserved words
+ are appended with a single trailing underscore <code class="computeroutput"><span class="char">'_'</span></code>
+ </p></td></tr>
+</table></div>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about this <a class="link" href="../modules/object.html" title="Object">here.</a>
+ </p>
+</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 © 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="lazy_statements.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_functions.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,102 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Lazy Functions</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 1. Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">
+<link rel="next" href="more.html" title="More">
+</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="construct__new__delete__casts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="more.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.starter_kit.lazy_functions"></a><a class="link" href="lazy_functions.html" title="Lazy Functions">Lazy Functions</a>
+</h3></div></div></div>
+<p>
+ As you write more lambda functions, you'll notice certain patterns that you
+ wish to refactor as reusable functions. When you reach that point, you'll
+ wish that ordinary functions can co-exist with phoenix functions. Unfortunately,
+ the <span class="emphasis"><em>immediate</em></span> nature of plain C++ functions make them
+ incompatible.
+ </p>
+<p>
+ Lazy functions are your friends. The library provides a facility to make
+ lazy functions. The code below is a rewrite of the <code class="computeroutput"><span class="identifier">is_odd</span></code>
+ function using the facility:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">is_odd_impl</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">></span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Arg</span> <span class="identifier">arg1</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="identifier">function</span><span class="special"><</span><span class="identifier">is_odd_impl</span><span class="special">></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="id721633"></a>
+ <a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.things_to_note_">Things
+ to note:</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Result type deduction is implemented with the help of the result_of protocol.
+ For more information see <a href="http://www.boost.org/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">is_odd_impl</span></code> implements
+ the function.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">is_odd</span></code>, an instance of
+ <code class="computeroutput"><span class="identifier">function</span><span class="special"><</span><span class="identifier">is_odd_impl</span><span class="special">></span></code>,
+ is the lazy function.
+ </li>
+</ul></div>
+<p>
+ Now, <code class="computeroutput"><span class="identifier">is_odd</span></code> is a truly lazy
+ function that we can use in conjunction with the rest of phoenix. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">is_odd</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">));</span>
+</pre>
+<p>
+ (See function.cpp)
+ </p>
+<a name="phoenix.starter_kit.lazy_functions.predefined_lazy_functions"></a><h5>
+<a name="id721810"></a>
+ <a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.predefined_lazy_functions">Predefined
+ Lazy Functions</a>
+ </h5>
+<p>
+ The library is chock full of STL savvy, predefined lazy functions covering
+ the whole of the STL containers, iterators and algorithms. For example, there
+ are lazy versions of container related operations such as assign, at, back,
+ begin, pop_back, pop_front, push_back, push_front, etc. (See <a class="link" href="../modules/stl.html" title="STL">STL</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 © 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="construct__new__delete__casts.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="more.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,136 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Lazy Operators</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 1. Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="arguments.html" title="Arguments">
+<link rel="next" href="lazy_statements.html" title="Lazy Statements">
+</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="arguments.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_statements.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.starter_kit.lazy_operators"></a><a class="link" href="lazy_operators.html" title="Lazy Operators">Lazy Operators</a>
+</h3></div></div></div>
+<p>
+ You can use the usual set of operators to form expressions. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="special">*</span> <span class="identifier">arg1</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span>
+<span class="identifier">arg1</span> <span class="special">=</span> <span class="identifier">arg2</span> <span class="special">+</span> <span class="special">(</span><span class="number">3</span> <span class="special">*</span> <span class="identifier">arg3</span><span class="special">)</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">arg1</span><span class="special">[</span><span class="identifier">arg2</span><span class="special">]</span> <span class="comment">// assuming arg1 is indexable and arg2 is a valid index
+</span></pre>
+<p>
+ Note the expression: <code class="computeroutput"><span class="number">3</span> <span class="special">*</span>
+ <span class="identifier">arg3</span></code>. This expression is actually
+ a short-hand equivalent to: <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span>
+ <span class="special">*</span> <span class="identifier">arg3</span></code>.
+ In most cases, like above, you can get away with it. But in some cases, you
+ will have to explicitly wrap your values in <code class="computeroutput"><span class="identifier">val</span></code>.
+ Rules of thumb:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ In a binary expression (e.g. <code class="computeroutput"><span class="number">3</span>
+ <span class="special">*</span> <span class="identifier">arg3</span></code>),
+ at least one of the operands must be a phoenix primitive or expression.
+ </li>
+<li class="listitem">
+ In a unary expression (e.g. <code class="computeroutput"><span class="identifier">arg1</span><span class="special">++</span></code>), the single operand must be a phoenix
+ primitive or expression.
+ </li>
+</ul></div>
+<p>
+ If these basic rules are not followed, the result is either an error, or
+ is immediately evaluated. Some examples:
+ </p>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="number">123</span> <span class="comment">// lazy
+</span><span class="identifier">x</span> <span class="special">=</span> <span class="number">123</span> <span class="comment">// immediate
+</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)[</span><span class="number">0</span><span class="special">]</span> <span class="comment">// lazy
+</span><span class="identifier">x</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="comment">// immediate
+</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</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="comment">// lazy
+</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)[</span><span class="identifier">i</span><span class="special">]</span> <span class="comment">// lazy (equivalent to ref(x)[val(i)])
+</span><span class="identifier">x</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="comment">// illegal (x is not a phoenix primitive or expression)
+</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</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="comment">// illegal (x is not a phoenix primitive or expression)
+</span></pre>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about operators <a class="link" href="../modules/operator.html" title="Operator">here.</a>
+ </p>
+</div>
+<a name="phoenix.starter_kit.lazy_operators.first_practical_example"></a><h5>
+<a name="id720559"></a>
+ <a class="link" href="lazy_operators.html#phoenix.starter_kit.lazy_operators.first_practical_example">First
+ Practical Example</a>
+ </h5>
+<p>
+ We've covered enough ground to present a real world example. We want to find
+ the first odd number in an STL container. Normally we use a functor (function
+ object) or a function pointer and pass that in to STL's <code class="computeroutput"><span class="identifier">find_if</span></code>
+ generic function:
+ </p>
+<p>
+ Write a function:
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span>
+<span class="identifier">is_odd</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">arg1</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Pass a pointer to the function to STL's <code class="computeroutput"><span class="identifier">find_if</span></code>
+ algorithm:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="special">&</span><span class="identifier">is_odd</span><span class="special">)</span>
+</pre>
+<p>
+ Using Phoenix, the same can be achieved directly with a one-liner:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+</pre>
+<p>
+ The expression <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">%</span>
+ <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> automagically creates a functor with the
+ expected behavior. In FP, this unnamed function is called a lambda function.
+ Unlike the function pointer version, which is monomorphic (expects and works
+ only with a fixed type int argument), the Phoenix version is fully polymorphic
+ and works with any container (of ints, of longs, of bignum, etc.) as long
+ as its elements can handle the <code class="computeroutput"><span class="identifier">arg1</span>
+ <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> expression.
+ </p>
+<p>
+ (See find_if.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>That's it, we're done</strong></span>.
+ Well if you wish to know a little bit more, read on...
+ </p>
+</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 © 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="arguments.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_statements.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_statements.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/lazy_statements.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Lazy Statements</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 1. Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="lazy_operators.html" title="Lazy Operators">
+<link rel="next" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">
+</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="lazy_operators.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="construct__new__delete__casts.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.starter_kit.lazy_statements"></a><a class="link" href="lazy_statements.html" title="Lazy Statements">Lazy Statements</a>
+</h3></div></div></div>
+<p>
+ Lazy statements? Sure. There are lazy versions of the C++ statements we all
+ know and love. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">></span> <span class="number">5</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">arg1</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Say, for example, we wish to print all the elements that are greater than
+ 5 (separated by a comma) in a vector. Here's how we write it:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">v</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">v</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">></span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">arg1</span> <span class="special"><<</span> <span class="string">", "</span>
+ <span class="special">]</span>
+<span class="special">);</span>
+</pre>
+<p>
+ (See if.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about statements <a class="link" href="../modules/statement.html" title="Statement">here.</a>
+ </p>
+</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 © 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="lazy_operators.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="construct__new__delete__casts.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/more.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/more.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>More</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 1. Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="lazy_functions.html" title="Lazy Functions">
+<link rel="next" href="../basics.html" title="Basics">
+</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="lazy_functions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="../basics.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.starter_kit.more"></a><a class="link" href="more.html" title="More">More</a>
+</h3></div></div></div>
+<p>
+ As mentioned earlier, this chapter is not a thorough discourse of the library.
+ It is meant only to cover enough ground to get you into high gear as quickly
+ as possible. Some advanced stuff is not discussed here (e.g. <a class="link" href="../modules/scope.html" title="Scope">Scopes</a>);
+ nor are features that provide alternative (short-hand) ways to do the same
+ things (e.g. <a class="link" href="../modules/bind.html" title="Bind">Bind</a> vs. <a class="link" href="../modules/function.html" title="Function">Lazy
+ Functions</a>).
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>If you still wish to learn
+ more, the read on...</strong></span>
+ </p>
+</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 © 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="lazy_functions.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="../basics.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Primitives</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../starter_kit.html" title="Starter Kit">
<link rel="prev" href="../starter_kit.html" title="Starter Kit">
<link rel="next" href="primitives/values.html" title="Values">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../starter_kit.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="primitives/values.html"><img src="../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="phoenix.starter_kit.primitives"></a><a class="link" href="primitives.html" title="Primitives">Primitives</a>
</h3></div></div></div>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/arguments.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/arguments.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/arguments.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Arguments</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../primitives.html" title="Primitives">
<link rel="prev" href="references.html" title="References">
<link rel="next" href="../composites.html" title="Composites">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="references.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitives.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="../composites.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.starter_kit.primitives.arguments"></a><a class="link" href="arguments.html" title="Arguments">Arguments</a>
</h4></div></div></div>
@@ -46,7 +46,7 @@
(See arguments.cpp)
</p>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about arguments <a class="link" href="../../modules/core/arguments.html" title="Arguments">here.</a>
</p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/references.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/references.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/references.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>References</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../primitives.html" title="Primitives">
<link rel="prev" href="values.html" title="Values">
<link rel="next" href="arguments.html" title="Arguments">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="values.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitives.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="arguments.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.starter_kit.primitives.references"></a><a class="link" href="references.html" title="References">References</a>
</h4></div></div></div>
@@ -44,7 +44,7 @@
(See references.cpp)
</p>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about references <a class="link" href="../../modules/core/references.html" title="References">here.</a>
</p>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/primitives/values.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -3,8 +3,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Values</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 1. Phoenix 3.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../../index.html" title="Chapter 1. Phoenix 3.0">
<link rel="up" href="../primitives.html" title="Primitives">
<link rel="prev" href="../primitives.html" title="Primitives">
<link rel="next" href="references.html" title="References">
@@ -15,7 +15,7 @@
<div class="spirit-nav">
<a accesskey="p" href="../primitives.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../primitives.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="references.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
-<div class="section" lang="en">
+<div class="section">
<div class="titlepage"><div><div><h4 class="title">
<a name="phoenix.starter_kit.primitives.values"></a><a class="link" href="values.html" title="Values">Values</a>
</h4></div></div></div>
@@ -32,7 +32,7 @@
World"</span></code>.
</p>
<a name="phoenix.starter_kit.primitives.values.lazy_evaluation"></a><h6>
-<a name="id2773470"></a>
+<a name="id680696"></a>
<a class="link" href="values.html#phoenix.starter_kit.primitives.values.lazy_evaluation">Lazy
Evaluation</a>
</h6>
@@ -50,7 +50,7 @@
(See values.cpp)
</p>
<div class="sidebar">
-<p class="title"><b></b></p>
+<div class="titlepage"></div>
<p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Learn more about values <a class="link" href="../../modules/core/values.html" title="Values">here.</a>
</p>
@@ -65,7 +65,7 @@
anything and defers the evaluation for later.
</p>
<a name="phoenix.starter_kit.primitives.values.callbacks"></a><h6>
-<a name="id2823597"></a>
+<a name="id680921"></a>
<a class="link" href="values.html#phoenix.starter_kit.primitives.values.callbacks">Callbacks</a>
</h6>
<p>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/references.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/references.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,66 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References</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 1. Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="values.html" title="Values">
+<link rel="next" href="arguments.html" title="Arguments">
+</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="values.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="arguments.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.starter_kit.references"></a><a class="link" href="references.html" title="References">References</a>
+</h3></div></div></div>
+<p>
+ References are functions. They hold a reference to a value stored somewhere.
+ For example, given:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+</pre>
+<p>
+ we create <code class="computeroutput"><span class="identifier">references</span></code> to
+ <code class="computeroutput"><span class="identifier">i</span></code> and <code class="computeroutput"><span class="identifier">s</span></code>
+ this way:
+ </p>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span>
+</pre>
+<p>
+ Like <code class="computeroutput"><span class="identifier">val</span></code>, the expressions
+ above evaluates to a nullary function; the first one returning an <code class="computeroutput"><span class="keyword">int</span><span class="special">&</span></code>,
+ and the second one returning a <code class="computeroutput"><span class="keyword">char</span>
+ <span class="keyword">const</span><span class="special">*&</span></code>.
+ </p>
+<p>
+ (See references.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about references <a class="link" href="../modules/core/references.html" title="References">here.</a>
+ </p>
+</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 © 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="values.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="arguments.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Added: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/values.html
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/phoenix/starter_kit/values.html 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Values</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 1. Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="../starter_kit.html" title="Starter Kit">
+<link rel="next" href="references.html" title="References">
+</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="../starter_kit.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="references.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="phoenix.starter_kit.values"></a><a class="link" href="values.html" title="Values">Values</a>
+</h3></div></div></div>
+<p>
+ Values are functions! Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span>
+<span class="identifier">val</span><span class="special">(</span><span class="string">"Hello, World"</span><span class="special">)</span>
+</pre>
+<p>
+ The first evaluates to a nullary function (a function taking no arguments)
+ that returns an <code class="computeroutput"><span class="keyword">int</span></code>, <code class="computeroutput"><span class="number">3</span></code>. The second evaluates to a nullary function
+ that returns a <code class="computeroutput"><span class="keyword">char</span> <span class="keyword">const</span><span class="special">(&)[</span><span class="number">13</span><span class="special">]</span></code>, <code class="computeroutput"><span class="string">"Hello,
+ World"</span></code>.
+ </p>
+<a name="phoenix.starter_kit.values.lazy_evaluation"></a><h5>
+<a name="id718996"></a>
+ <a class="link" href="values.html#phoenix.starter_kit.values.lazy_evaluation">Lazy Evaluation</a>
+ </h5>
+<p>
+ Confused? <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code> is a unary
+ function, you say? Yes it is. However, read carefully: <span class="emphasis"><em>"evaluates
+ to a nullary function"</em></span>. <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code>
+ evaluates to (returns) a nullary function. Aha! <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code>
+ returns a function! So, since <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code>
+ returns a function, you can invoke it. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)()</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ (See values.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about values <a class="link" href="../modules/core/values.html" title="Values">here.</a>
+ </p>
+</div>
+<p>
+ The second function call (the one with no arguments) calls the nullary function
+ which then returns <code class="computeroutput"><span class="number">3</span></code>. The need
+ for a second function call is the reason why the function is said to be
+ <span class="bold"><strong><span class="emphasis"><em>Lazily Evaluated</em></span></strong></span>. The
+ first call doesn't do anything. You need a second call to finally evaluate
+ the thing. The first call lazily evaluates the function; i.e. doesn't do
+ anything and defers the evaluation for later.
+ </p>
+<a name="phoenix.starter_kit.values.callbacks"></a><h5>
+<a name="id719221"></a>
+ <a class="link" href="values.html#phoenix.starter_kit.values.callbacks">Callbacks</a>
+ </h5>
+<p>
+ It may not be immediately apparent how lazy evaluation can be useful by just
+ looking at the example above. Putting the first and second function call
+ in a single line is really not very useful. However, thinking of <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code> as a callback function (and in most cases
+ they are actually used that way), will make it clear. Example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">></span>
+<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">f</span><span class="special">()</span> <span class="special"><<</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span>
+<span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">print</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
+ <span class="identifier">print</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="string">"Hello World"</span><span class="special">));</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ (See callback.cpp)
+ </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 © 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="../starter_kit.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="references.html"><img src="../../images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/html/quickbook_HTML.manifest 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -1,16 +1,14 @@
index.html
phoenix/introduction.html
phoenix/starter_kit.html
-phoenix/starter_kit/primitives.html
-phoenix/starter_kit/primitives/values.html
-phoenix/starter_kit/primitives/references.html
-phoenix/starter_kit/primitives/arguments.html
-phoenix/starter_kit/composites.html
-phoenix/starter_kit/composites/lazy_operators.html
-phoenix/starter_kit/composites/lazy_statements.html
-phoenix/starter_kit/composites/construct__new__delete__casts.html
-phoenix/starter_kit/composites/lazy_functions.html
-phoenix/starter_kit/composites/more.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
@@ -51,6 +49,7 @@
phoenix/modules/stl/algorithm.html
phoenix/modules/fusion.html
phoenix/inside.html
-phoenix/inside/expression.html
phoenix/inside/actor.html
+phoenix/inside/expression.html
phoenix/inside/custom_terminals.html
+phoenix/inside/adding_expressions.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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -14,9 +14,12 @@
library. However, a microscopic view might prove to be beneficial to moderate
to advanced programmers who wish to extend the library.
-[include inside/expression.qbk]
[include inside/actor.qbk]
+[include inside/expression.qbk]
[section Custom Terminals]
[endsect]
+[section Adding Expressions]
+[endsect]
+
[endsect]
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/actor.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/actor.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/actor.qbk 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -9,7 +9,7 @@
[section:actor Actors in Detail]
-[heading Actor Concept]
+[heading Actor]
The main concept is the `Actor`. An `Actor` is a model of the __PFO__ concept
(that can accept 0 to N arguments (where N is a predefined maximum).
@@ -20,8 +20,6 @@
[note You can set `PHOENIX_LIMIT`, the predefined maximum arity an
actor can take. By default, `PHOENIX_LIMIT` is set to 10.]
-[heading `actor`]
-
The `actor` template class models the `Actor` concept:
template <typename Expr>
@@ -122,10 +120,87 @@
[heading Environment]
+The Environment is a model of __random_access__.
+
+The arguments passed to the actor's function call operator are collected inside the Environment:
+
+[$images/funnel_in.png]
+
+Other parts of the library (e.g. the scope module) extends the `Environment`
+concept to hold other information such as local variables, etc.
+
[heading Actions]
-[heading `evaluator`]
+Actions is the part of Phoenix which are responsible for giving the actual expressions
+a specific behaviour. During the traversal of the Phoenix Expression Tree theses actions
+are called whenever a specified rule in the grammar matches.
+
+ struct actions
+ {
+ template <typename Rule>
+ struct when;
+ };
+
+The nested `when` template is required to be __proto_primitive_transform__. No
+Worries, you don't have to learn __proto__ just yet! Phoenix provides some wrappers
+to let you define simple actions without the need to dive deep into proto.
+
+Phoenix ships with a predefined `default_actions` class that evaluates the expressions with
+C++ semantics:
+
+ struct default_actions
+ {
+ template <typename Rule, typename Dummy = void>
+ struct when
+ : proto::_default<meta_grammar>
+ {};
+ };
+
+For more Information on how to use the default_actions class and how to attach custom actions
+to the evaluation process, see the next sections.
-[heading `result_of::actor`]
+[heading Evaluation]
+
+ struct evaluator
+ {
+ template <typename Expr, typename Context>
+ __unspecified__ operator()(Expr &, Context &);
+ };
+
+ evaluator const eval = {};
+
+The evaluation of a Phoenix expression is started by a call to the function call operator of
+`evaluator`.
+
+The evaluator is called by the `actor` functio operator overloads after the context is built up.
+For reference, here is a typical `actor::operator()` that accepts two arguments:
+
+ template <typename T0, typename T1>
+ typename result_of::actor<Expr, T0 &, T1 &>::type
+ operator()(T0 &t0, T1 &t1) const
+ {
+ fusion::vector2<T0 &, T1 &> env(t0, t1);
+
+ return eval(*this, context(env, default_actions()));
+ }
+
+[heading result_of::actor]
+
+For reasons of symmetry to the family of `actor::operator()` there is a special
+metafunction usable for actor result type calculation named `result_of::actor`. This
+metafunction allows us to directly to specify the types of the parameters to be
+passed to the `actor::operator()` function. Here's a typical `actor_result` that
+accepts two arguments:
+
+ namespace result_of
+ {
+ template <typename Expr, typename T0, typename T1>
+ struct actor
+ {
+ typedef fusion::vector2<T0, T1> env_tpe;
+ typedef typename result_of::context<env_type, default_actions>::type ctx_type
+ typedef typename boost::result_of<evaluator(Expr const&, ctx_type)>::type type;
+ };
+ }
[endsect]
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/expression.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/expression.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/inside/expression.qbk 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -7,10 +7,69 @@
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
-[section:expression Phoenix Expressions in Detail]
+[section:expression Phoenix Expressions]
-[heading `meta_grammar`]
+A Phoenix Expression is a model of the __proto_expr__ Concept. These expressions
+are wrapped inside an [link phoenix.inside.actor] template. The `actor` provides
+the function call operator which evaluates the expressions.
+The `actor` is the domain specific wrapper around phoenix expressions.
-[heading Adding an expression]
+By design, Phoenix Expressions do not carry any information on how they will be
+evaluated later on. They are the data structure on which the `Actions` will work
+on.
+
+The library provides a convenience template to define expressions:
+
+ template <template <typename> Actor, typename Tag, typename A0, ..., typename A1>
+ struct expr_ext
+ : proto::transform<expr_ext<Actor, Tag, A0, ..., A1> >
+ {
+ typedef __unspecified__ base_expr;
+ typedef Actor<base_expr> type;
+
+ typedef __unspecified__ proto_grammar;
+
+ static type make(A0 a0, ..., A1 a1);
+ };
+
+ template <typename Tag, typename A0, ..., typename A1>
+ struct expr : expr_ext<actor, Tag, A0, ..., A1> {};
+
+[*Notation]
+[variablelist
+ [[`A0...AN`] [Child node types]]
+ [[`a0...aN`] [Child node objects]]
+ [[`G0...GN`] [__proto__ grammar types]]
+]
+
+[*Expression Semantics]
+[table
+ [[Expression] [Semantics]]
+ [[`expr<Tag, A0...AN>::type`] [The type of Expression having tag `Tag` and `A0...AN` children]]
+ [[`expr<Tag, G0...GN>`] [A __proto__ grammar and __proto_pass_through_transform__]]
+ [[`expr<Tag, A0...AN>::make(a0...aN)`] [Returns a Phoenix Expression]]
+]
+
+[heading meta_grammar]
+
+Defining Expressions is only part of the game to make it a valid Phoenix Expression.
+In order to use the expressions in the Phoenix domain, we need to "register" our newly created
+to our grammar.
+
+The `meta_grammar` is a struct for exactly that purpose. It is an openly extendable __proto__ Grammar:
+
+ struct meta_grammar
+ : proto::switch_<meta_grammar>
+ {
+ template <typename Tag, typename Dummy>
+ struct case_
+ : proto::not_<proto::_>
+ {};
+ };
+
+As you can see, by default the `meta_grammar` matches nothing. With every [link phoenix.modules Module]
+you include this grammar gets extended by various expressions.
+
+See [link phoenix.inside.adding_expressions Adding Expressions] for more details.
[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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -39,7 +39,7 @@
bind(&foo, arg1)
-This is now a full-fledged composite that can finally
+This is now a full-fledged expression that can finally
be evaluated by another function call invocation. A second function call will
invoke the actual `foo` function. Example:
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/operator.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/operator.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/operator.qbk 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -20,14 +20,14 @@
1 / -arg1
arg1 < 150
-We have seen the lazy operators in action (see [link phoenix.starter_kit.composites.lazy_operators
+We have seen the lazy operators in action (see [link phoenix.starter_kit.lazy_operators
Quick Start - Lazy Operators]). Let's go back and examine them a little bit further:
std::find_if(c.begin(), c.end(), arg1 % 2 == 1)
Through operator overloading, the expression `arg1 % 2 == 1` actually generates
an actor. This actor object is passed on to STL's `find_if` function. From
-the viewpoint of STL, the composite is simply a function object expecting a
+the viewpoint of STL, the expression is simply a function object expecting a
single argument of the containers value_type. For each element in `c`,
the element is passed on as an argument `arg1` to the actor (function
object). The actor checks if this is an odd value based on the expression
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/statement.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/statement.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/modules/statement.qbk 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -2,7 +2,7 @@
[*/Lazy statements.../]
-The primitives and composite building blocks presented so far are sufficiently
+The expressions presented so far are sufficiently
powerful to construct quite elaborate structures. We have presented lazy-functions
and lazy-operators. How about lazy-statements? First, an appetizer:
@@ -261,7 +261,7 @@
);
As before, all these are lazily evaluated. The result of such statements are in
-fact composites that are passed on to STL's for_each function. In the viewpoint
+fact expressions that are passed on to STL's for_each function. In the viewpoint
of `for_each`, what was passed is just a functor, no more, no less.
[endsect]
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -37,12 +37,12 @@
The [link phoenix.actor `Actor`] is the main concept behind the library. Lazy functions are
abstracted as actors.
-Primitives provide the basic building blocks of functionality within Phoenix.
-Composites are used to combine these primitives together to provide more
+Terminals provide the basic building blocks of functionality within Phoenix.
+Expressions are used to combine these terminals together to provide more
powerful functionality.
-Composites are composed of zero or more actors. Each actor in a composite can
-again be another composite.
+Expressions are composed of zero or more actors. Each actor in a composite can
+again be another expression.
[table Modules
[[Module] [Description]]
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-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -24,7 +24,11 @@
[def __tip__ [$images/tip.png]]
[def __spirit__ [@http://spirit.sourceforge.net Spirit]]
-[def __proto__ [@http://www.boost.org/doc/libs/1_43_0/doc/html/proto Boost.Proto]]
+[def __proto__ [@http://www.boost.org/doc/libs/release/libs/proto/index.html Boost.Proto]]
+[def __proto_expr__ [@http://www.boost.org/doc/libs/release/doc/html/Expr.html Proto Expression]]
+[def __proto_transform__ [@http://www.boost.org/doc/libs/release/doc/html/Transform.html Proto Transform]]
+[def __proto_pass_through_transform__ [@http://www.boost.org/doc/libs/release/doc/html/boost/proto/pass_through.html Proto Pass Through Transform]]
+[def __proto_primitive_transform__ [@http://www.boost.org/doc/libs/release/doc/html/PrimitiveTransform.html Proto Primitive Transform]]
[def __haskell__ [@http://www.haskell.org Haskell]]
[def __mpl__ [@http://www.boost.org/libs/mpl/index.html MPL]]
[def __bll__ [@http://www.boost.org/libs/lambda/doc/index.html BLL]]
@@ -35,6 +39,7 @@
[def __gmane__ [@http://www.gmane.org Gmane]]
[def __mlist_archive__ [@http://news.gmane.org/gmane.comp.parsers.spirit.general]]
[def __PFO__ [@http://www.boost.org/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html Polymorphic Function Object]]
+[def __random_access__ [@http://www.boost.org/doc/libs/release/libs/fusion/doc/html/fusion/sequence/concepts/random_access_sequence.html Random Access Sequence]]
[def __forwarding__ [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm Forwarding Function Problem]]
[def __boost_mpl__ [@http://boost.org/libs/mpl/doc/index.html Boost.MPL]]
[def __boost_range__ [@http://boost.org/libs/range/index.html Boost.Range]]
@@ -43,6 +48,7 @@
[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 __unspecified__ /unspecified/]
[include preface.qbk]
[include introduction.qbk]
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/starter_kit.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/starter_kit.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/starter_kit.qbk 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -35,22 +35,22 @@
[note Functors are so ubiquitous in Phoenix that, in the manual, the
words /"functor"/ and /"function"/ are used interchangeably.]
-[section Primitives]
+[/section Primitives]
We start with some core functions that are called *primitives*. You can think of
primitives (such as values, references and arguments) as atoms.
+Things start to get interesting when we start /composing/ primitives to form
+*expressions*. The expressions can, in turn, be composed to form even more complex
+expressions.
+
[include starter_kit/values.qbk]
[include starter_kit/references.qbk]
[include starter_kit/arguments.qbk]
-[endsect]
-
-[section Composites]
+[/endsect]
-Things start to get interesting when we start /composing/ primitives to form
-*composites*. The composites can, in turn, be composed to form even more complex
-composites.
+[/section Composites]
[include starter_kit/operator.qbk]
[include starter_kit/statement.qbk]
@@ -58,6 +58,6 @@
[include starter_kit/function.qbk]
[include starter_kit/more.qbk]
-[endsect]
+[/endsect]
[endsect]
Modified: sandbox/SOC/2010/phoenix3/libs/phoenix/doc/starter_kit/operator.qbk
==============================================================================
--- sandbox/SOC/2010/phoenix3/libs/phoenix/doc/starter_kit/operator.qbk (original)
+++ sandbox/SOC/2010/phoenix3/libs/phoenix/doc/starter_kit/operator.qbk 2011-02-02 06:00:41 EST (Wed, 02 Feb 2011)
@@ -9,7 +9,7 @@
[section Lazy Operators]
-You can use the usual set of operators to form composites. Examples:
+You can use the usual set of operators to form expressions. Examples:
arg1 * arg1
ref(x) = arg1 + ref(z)
@@ -22,9 +22,9 @@
Rules of thumb:
* In a binary expression (e.g. `3 * arg3`), at least one of the operands must be
- a phoenix primitive or composite.
+ a phoenix primitive or expression.
* In a unary expression (e.g. `arg1++`), the single operand must be a phoenix
- primitive or composite.
+ primitive or expression.
If these basic rules are not followed, the result is either an error, or is
immediately evaluated. Some examples:
@@ -37,8 +37,8 @@
ref(x)[ref(i)] // lazy
ref(x)[i] // lazy (equivalent to ref(x)[val(i)])
- x[ref(i)] // illegal (x is not a phoenix primitive or composite)
- ref(x[ref(i)]) // illegal (x is not a phoenix primitive or composite)
+ x[ref(i)] // illegal (x is not a phoenix primitive or expression)
+ ref(x[ref(i)]) // illegal (x is not a phoenix primitive or expression)
[blurb __tip__ Learn more about operators [link phoenix.modules.operator here.]]
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