|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r71247 - in branches/release/libs/phoenix: doc doc/examples doc/html doc/html/phoenix doc/html/phoenix/examples doc/html/phoenix/inside doc/html/phoenix/inside/expression doc/html/phoenix/modules doc/html/phoenix/modules/bind doc/html/phoenix/modules/core doc/html/phoenix/modules/function doc/html/phoenix/modules/function/adapting_functions doc/html/phoenix/modules/stl doc/html/phoenix/starter_kit doc/html/phoenix/what_s_new doc/inside doc/modules example preprocess test test/bind test/boost_bind_compatibility test/function test/operator test/scope
From: hartmut.kaiser_at_[hidden]
Date: 2011-04-14 10:20:20
Author: hkaiser
Date: 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
New Revision: 71247
URL: http://svn.boost.org/trac/boost/changeset/71247
Log:
Spirit: merging Phoenix V3 support from trunk
Added:
branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boilerplate_macros.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/inside/expression/boilerplate_macros.html
branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_function_objects.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/bind/binding_function_objects.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/
- copied from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/
branches/release/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/
- copied from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/
branches/release/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_callable.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_callable.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_callable_nullary.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_callable_nullary.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_callable_vararg.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_callable_vararg.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_function.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_function.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_function_nullary.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_function_nullary.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_function_vararg.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions/boost_phoenix_adapt_function_vararg.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_callable.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_callable.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_callable_nullary.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_callable_nullary.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_callable_vararg.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_callable_vararg.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_function.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_function.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_function_nullary.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_function_nullary.html
branches/release/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_function_vararg.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/modules/function/boost_phoenix_adapt_function_vararg.html
branches/release/libs/phoenix/doc/html/phoenix/what_s_new/
- copied from r71227, /trunk/libs/phoenix/doc/html/phoenix/what_s_new/
branches/release/libs/phoenix/doc/html/phoenix/what_s_new.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/what_s_new.html
branches/release/libs/phoenix/doc/html/phoenix/what_s_new/phoenix_3_0.html
- copied unchanged from r71227, /trunk/libs/phoenix/doc/html/phoenix/what_s_new/phoenix_3_0.html
branches/release/libs/phoenix/doc/what_s_new.qbk
- copied unchanged from r71227, /trunk/libs/phoenix/doc/what_s_new.qbk
branches/release/libs/phoenix/example/generator.cpp
- copied unchanged from r71227, /trunk/libs/phoenix/example/generator.cpp
branches/release/libs/phoenix/test/bind/bind_function_object_tests_phx2.cpp
- copied unchanged from r71227, /trunk/libs/phoenix/test/bind/bind_function_object_tests_phx2.cpp
branches/release/libs/phoenix/test/function/adapt_function.cpp
- copied unchanged from r71227, /trunk/libs/phoenix/test/function/adapt_function.cpp
branches/release/libs/phoenix/test/function/function_tests_phx2.cpp
- copied unchanged from r71227, /trunk/libs/phoenix/test/function/function_tests_phx2.cpp
branches/release/libs/phoenix/test/scope/lambda_tests_phx2.cpp
- copied unchanged from r71227, /trunk/libs/phoenix/test/scope/lambda_tests_phx2.cpp
Properties modified:
branches/release/libs/phoenix/doc/basics.qbk (props changed)
branches/release/libs/phoenix/doc/examples/extending_actors.qbk (props changed)
branches/release/libs/phoenix/doc/organisation.qbk (props changed)
Text files modified:
branches/release/libs/phoenix/doc/Jamfile | 8
branches/release/libs/phoenix/doc/html/index.html | 34 ++--
branches/release/libs/phoenix/doc/html/phoenix-doc_HTML.manifest | 9
branches/release/libs/phoenix/doc/html/phoenix/basics.html | 10
branches/release/libs/phoenix/doc/html/phoenix/examples/extending_actors.html | 8
branches/release/libs/phoenix/doc/html/phoenix/inside.html | 8
branches/release/libs/phoenix/doc/html/phoenix/inside/actions.html | 8
branches/release/libs/phoenix/doc/html/phoenix/inside/actor.html | 18 +-
branches/release/libs/phoenix/doc/html/phoenix/inside/expression.html | 24 --
branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression.html | 10
branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_ext.html | 10
branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_ext_vararg.html | 10
branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_vararg.html | 10
branches/release/libs/phoenix/doc/html/phoenix/introduction.html | 6
branches/release/libs/phoenix/doc/html/phoenix/modules.html | 4
branches/release/libs/phoenix/doc/html/phoenix/modules/bind.html | 16 +
branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html | 8
branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html | 2
branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html | 2
branches/release/libs/phoenix/doc/html/phoenix/modules/core/arguments.html | 8
branches/release/libs/phoenix/doc/html/phoenix/modules/core/references.html | 4
branches/release/libs/phoenix/doc/html/phoenix/modules/core/values.html | 2
branches/release/libs/phoenix/doc/html/phoenix/modules/function.html | 12
branches/release/libs/phoenix/doc/html/phoenix/modules/operator.html | 18 +-
branches/release/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html | 8
branches/release/libs/phoenix/doc/html/phoenix/modules/stl/container.html | 4
branches/release/libs/phoenix/doc/html/phoenix/organization.html | 6
branches/release/libs/phoenix/doc/html/phoenix/starter_kit.html | 2
branches/release/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html | 4
branches/release/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html | 2
branches/release/libs/phoenix/doc/html/phoenix/starter_kit/values.html | 4
branches/release/libs/phoenix/doc/inside/expression.qbk | 4
branches/release/libs/phoenix/doc/modules/bind.qbk | 27 ++
branches/release/libs/phoenix/doc/modules/function.qbk | 310 +++++++++++++++++++++++++++++++++++++++
branches/release/libs/phoenix/doc/phoenix3.qbk | 1
branches/release/libs/phoenix/example/function.cpp | 6
branches/release/libs/phoenix/preprocess/wave.cfg | 6
branches/release/libs/phoenix/test/Jamfile | 6
branches/release/libs/phoenix/test/bind/bind_member_variable_tests.cpp | 2
branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stateful_test.cpp | 2
branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stdcall_mf_test.cpp | 2
branches/release/libs/phoenix/test/operator/member.cpp | 16 +
branches/release/libs/phoenix/test/scope/this.cpp | 2
43 files changed, 493 insertions(+), 170 deletions(-)
Modified: branches/release/libs/phoenix/doc/Jamfile
==============================================================================
--- branches/release/libs/phoenix/doc/Jamfile (original)
+++ branches/release/libs/phoenix/doc/Jamfile 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -16,11 +16,11 @@
phoenix3.qbk
:
<xsl:param>boost.root=../../../..
- <xsl:param>chunk.section.depth=4
+ <xsl:param>chunk.section.depth=3
<xsl:param>chunk.first.sections=1
- <xsl:param>toc.section.depth=4
- <xsl:param>toc.max.depth=4
- <xsl:param>generate.section.toc.level=4
+ <xsl:param>toc.section.depth=3
+ <xsl:param>toc.max.depth=3
+ <xsl:param>generate.section.toc.level=3
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/phoenix/doc/html
<format>pdf:<xsl:param>img.src.path=$(images)/
;
Modified: branches/release/libs/phoenix/doc/html/index.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/index.html (original)
+++ branches/release/libs/phoenix/doc/html/index.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -5,7 +5,7 @@
<link rel="stylesheet" href="../../../../doc/src/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="next" href="phoenix/introduction.html" title="Introduction">
+<link rel="next" href="phoenix/what_s_new.html" title="What's New">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -17,7 +17,7 @@
<td align="center">More</td>
</tr></table>
<hr>
-<div class="spirit-nav"><a accesskey="n" href="phoenix/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="phoenix/what_s_new.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
<div class="chapter">
<div class="titlepage"><div>
<div><h2 class="title">
@@ -33,7 +33,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="id624774"></a><p>
+<a name="id743217"></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>
@@ -42,6 +42,8 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
+<dt><span class="section">What's New</span></dt>
+<dd><dl><dt><span class="section">Phoenix 3.0</span></dt></dl></dd>
<dt><span class="section">Introduction</span></dt>
<dt><span class="section">Starter Kit</span></dt>
<dd><dl>
@@ -68,6 +70,8 @@
<dt><span class="section">Nothing</span></dt>
</dl></dd>
<dt><span class="section">Function</span></dt>
+<dd><dl><dt><span class="section"><a href="phoenix/modules/function/adapting_functions.html">Adapting
+ Functions</a></span></dt></dl></dd>
<dt><span class="section">Operator</span></dt>
<dt><span class="section">Statement</span></dt>
<dd><dl>
@@ -99,6 +103,8 @@
</dl></dd>
<dt><span class="section">Bind</span></dt>
<dd><dl>
+<dt><span class="section"><a href="phoenix/modules/bind/binding_function_objects.html">Binding
+ Function Objects</a></span></dt>
<dt><span class="section">Binding Functions</span></dt>
<dt><span class="section"><a href="phoenix/modules/bind/binding_member_functions.html">Binding
Member Functions</a></span></dt>
@@ -117,12 +123,8 @@
<dd><dl>
<dt><span class="section">Actors in Detail</span></dt>
<dt><span class="section">Phoenix Expressions</span></dt>
-<dd><dl>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION</span></dt>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</span></dt>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</span></dt>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</span></dt>
-</dl></dd>
+<dd><dl><dt><span class="section"><a href="phoenix/inside/expression/boilerplate_macros.html">Boilerplate
+ Macros</a></span></dt></dl></dd>
<dt><span class="section">More on Actions</span></dt>
<dt><span class="section">Predefined Expressions and Rules</span></dt>
<dt><span class="section">Custom Terminals</span></dt>
@@ -141,7 +143,7 @@
</dl>
</div>
<a name="phoenix.preface"></a><h2>
-<a name="id655465"></a>
+<a name="id773908"></a>
<a class="link" href="index.html#phoenix.preface">Preface</a>
</h2>
<div class="blockquote"><blockquote class="blockquote"><p>
@@ -160,7 +162,7 @@
<span class="inlinemediaobject"><img src="images/lambda_cpp.png" alt="lambda_cpp"></span>
</p>
<a name="phoenix.description"></a><h3>
-<a name="id623578"></a>
+<a name="id742020"></a>
<a class="link" href="index.html#phoenix.description">Description</a>
</h3>
<p>
@@ -178,7 +180,7 @@
library is organized in highly independent modules and layers.
</p>
<a name="phoenix.how_to_use_this_manual"></a><h3>
-<a name="id623625"></a>
+<a name="id742068"></a>
<a class="link" href="index.html#phoenix.how_to_use_this_manual">How to use this manual</a>
</h3>
<p>
@@ -200,7 +202,7 @@
icons precede some text to indicate:
</p>
<div class="table">
-<a name="id623656"></a><p class="title"><b>Table 1.1. Icons</b></p>
+<a name="id742099"></a><p class="title"><b>Table 1.1. Icons</b></p>
<div class="table-contents"><table class="table" summary="Icons">
<colgroup>
<col>
@@ -289,15 +291,15 @@
</p>
</div>
<a name="phoenix._emphasis_role__bold___emphasis____to_joel_s_dear_daughter__phoenix__emphasis___emphasis_"></a><h3>
-<a name="id664422"></a>
+<a name="id782864"></a>
<a class="link" href="index.html#phoenix._emphasis_role__bold___emphasis____to_joel_s_dear_daughter__phoenix__emphasis___emphasis_"><span class="bold"><strong><span class="emphasis"><em>...To Joel's dear daughter, Phoenix</em></span></strong></span></a>
</h3>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: March 21, 2011 at 10:12:42 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 13, 2011 at 19:05:27 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
-<div class="spirit-nav"><a accesskey="n" href="phoenix/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="spirit-nav"><a accesskey="n" href="phoenix/what_s_new.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
</body>
</html>
Modified: branches/release/libs/phoenix/doc/html/phoenix-doc_HTML.manifest
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix-doc_HTML.manifest (original)
+++ branches/release/libs/phoenix/doc/html/phoenix-doc_HTML.manifest 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -1,4 +1,6 @@
index.html
+phoenix/what_s_new.html
+phoenix/what_s_new/phoenix_3_0.html
phoenix/introduction.html
phoenix/starter_kit.html
phoenix/starter_kit/values.html
@@ -19,6 +21,7 @@
phoenix/modules/core/arguments.html
phoenix/modules/core/nothing.html
phoenix/modules/function.html
+phoenix/modules/function/adapting_functions.html
phoenix/modules/operator.html
phoenix/modules/statement.html
phoenix/modules/statement/block_statement.html
@@ -40,6 +43,7 @@
phoenix/modules/scope/let.html
phoenix/modules/scope/lambda.html
phoenix/modules/bind.html
+phoenix/modules/bind/binding_function_objects.html
phoenix/modules/bind/binding_functions.html
phoenix/modules/bind/binding_member_functions.html
phoenix/modules/bind/binding_member_variables.html
@@ -50,10 +54,7 @@
phoenix/inside.html
phoenix/inside/actor.html
phoenix/inside/expression.html
-phoenix/inside/expression/boost_phoenix_define_expression.html
-phoenix/inside/expression/boost_phoenix_define_expression_vararg.html
-phoenix/inside/expression/boost_phoenix_define_expression_ext.html
-phoenix/inside/expression/boost_phoenix_define_expression_ext_vararg.html
+phoenix/inside/expression/boilerplate_macros.html
phoenix/inside/actions.html
phoenix/inside/rules.html
phoenix/inside/custom_terminals.html
Modified: branches/release/libs/phoenix/doc/html/phoenix/basics.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/basics.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/basics.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -49,7 +49,7 @@
</p></td></tr>
</table></div>
<a name="phoenix.basics.partial_function_application"></a><h4>
-<a name="id667811"></a>
+<a name="id786417"></a>
<a class="link" href="basics.html#phoenix.basics.partial_function_application">Partial Function
Application</a>
</h4>
@@ -101,7 +101,7 @@
black boxes anymore.
</p>
<a name="phoenix.basics.stl_and_higher_order_functions"></a><h4>
-<a name="id668026"></a>
+<a name="id786632"></a>
<a class="link" href="basics.html#phoenix.basics.stl_and_higher_order_functions">STL and higher
order functions</a>
</h4>
@@ -133,7 +133,7 @@
</p></td></tr>
</table></div>
<a name="phoenix.basics.lazy_evaluation"></a><h4>
-<a name="id668237"></a>
+<a name="id786843"></a>
<a class="link" href="basics.html#phoenix.basics.lazy_evaluation">Lazy Evaluation</a>
</h4>
<p>
@@ -188,7 +188,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="id668780"></a>
+<a name="id787386"></a>
<a class="link" href="basics.html#phoenix.basics.forwarding_function_problem">Forwarding Function
Problem</a>
</h4>
@@ -229,7 +229,7 @@
</p></td></tr>
</table></div>
<a name="phoenix.basics.polymorphic_functions"></a><h4>
-<a name="id668918"></a>
+<a name="id787524"></a>
<a class="link" href="basics.html#phoenix.basics.polymorphic_functions">Polymorphic Functions</a>
</h4>
<p>
Modified: branches/release/libs/phoenix/doc/html/phoenix/examples/extending_actors.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/examples/extending_actors.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/examples/extending_actors.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -46,7 +46,7 @@
on how to implement a custom actor which is usable as if it were a STL Container.
</p>
<a name="phoenix.examples.extending_actors.requirements"></a><h5>
-<a name="id717896"></a>
+<a name="id840295"></a>
<a class="link" href="extending_actors.html#phoenix.examples.extending_actors.requirements">Requirements</a>
</h5>
<p>
@@ -148,7 +148,7 @@
Additionally, we want all the operator() overloads of the regular actor.
</p>
<a name="phoenix.examples.extending_actors.defining_the_actor"></a><h5>
-<a name="id718209"></a>
+<a name="id840608"></a>
<a class="link" href="extending_actors.html#phoenix.examples.extending_actors.defining_the_actor">Defining
the actor</a>
</h5>
@@ -181,7 +181,7 @@
<span class="special">};</span>
</pre>
<a name="phoenix.examples.extending_actors.using_the_actor"></a><h5>
-<a name="id719093"></a>
+<a name="id841493"></a>
<a class="link" href="extending_actors.html#phoenix.examples.extending_actors.using_the_actor">Using the
actor</a>
</h5>
@@ -238,7 +238,7 @@
Wow, that was easy!
</p>
<a name="phoenix.examples.extending_actors.adding_life_to_the_actor"></a><h5>
-<a name="id719761"></a>
+<a name="id842160"></a>
<a class="link" href="extending_actors.html#phoenix.examples.extending_actors.adding_life_to_the_actor">Adding
life to the actor</a>
</h5>
Modified: branches/release/libs/phoenix/doc/html/phoenix/inside.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/inside.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/inside.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -29,12 +29,8 @@
<div class="toc"><dl>
<dt><span class="section">Actors in Detail</span></dt>
<dt><span class="section">Phoenix Expressions</span></dt>
-<dd><dl>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION</span></dt>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</span></dt>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</span></dt>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</span></dt>
-</dl></dd>
+<dd><dl><dt><span class="section"><a href="inside/expression/boilerplate_macros.html">Boilerplate
+ Macros</a></span></dt></dl></dd>
<dt><span class="section">More on Actions</span></dt>
<dt><span class="section">Predefined Expressions and Rules</span></dt>
<dt><span class="section">Custom Terminals</span></dt>
Modified: branches/release/libs/phoenix/doc/html/phoenix/inside/actions.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/inside/actions.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/inside/actions.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -6,7 +6,7 @@
<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/boost_phoenix_define_expression_ext_vararg.html" title="BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG">
+<link rel="prev" href="expression/boilerplate_macros.html" title="Boilerplate Macros">
<link rel="next" href="rules.html" title="Predefined Expressions and Rules">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="expression/boost_phoenix_define_expression_ext_vararg.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rules.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="expression/boilerplate_macros.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rules.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
@@ -91,7 +91,7 @@
how the Phoenix AST will be traversed.
</p>
<a name="phoenix.inside.actions.writing_an_action"></a><h5>
-<a name="id706992"></a>
+<a name="id829391"></a>
<a class="link" href="actions.html#phoenix.inside.actions.writing_an_action">Writing an Action</a>
</h5>
<p>
@@ -210,7 +210,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="expression/boost_phoenix_define_expression_ext_vararg.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rules.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="expression/boilerplate_macros.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="rules.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: branches/release/libs/phoenix/doc/html/phoenix/inside/actor.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/inside/actor.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/inside/actor.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -27,7 +27,7 @@
<a name="phoenix.inside.actor"></a><a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
</h3></div></div></div>
<a name="phoenix.inside.actor.actor"></a><h5>
-<a name="id698455"></a>
+<a name="id820821"></a>
<a class="link" href="actor.html#phoenix.inside.actor.actor">Actor</a>
</h5>
<p>
@@ -77,7 +77,7 @@
</span><span class="special">};</span>
</pre>
<div class="table">
-<a name="id698974"></a><p class="title"><b>Table 1.9. Actor Concept Requirements</b></p>
+<a name="id821338"></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>
@@ -143,7 +143,7 @@
</table></div>
</div>
<br class="table-break"><a name="phoenix.inside.actor.function_call_operators"></a><h5>
-<a name="id699275"></a>
+<a name="id821640"></a>
<a class="link" href="actor.html#phoenix.inside.actor.function_call_operators">Function Call
Operators</a>
</h5>
@@ -176,7 +176,7 @@
</td></tr>
</table></div>
<a name="phoenix.inside.actor.context"></a><h5>
-<a name="id699382"></a>
+<a name="id821747"></a>
<a class="link" href="actor.html#phoenix.inside.actor.context">Context</a>
</h5>
<p>
@@ -187,7 +187,7 @@
all information necessary to evaluate the given expression.
</p>
<div class="table">
-<a name="id699426"></a><p class="title"><b>Table 1.10. Context Concept Requirements</b></p>
+<a name="id821791"></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>
@@ -285,7 +285,7 @@
</table></div>
</div>
<br class="table-break"><a name="phoenix.inside.actor.environment"></a><h5>
-<a name="id699794"></a>
+<a name="id822159"></a>
<a class="link" href="actor.html#phoenix.inside.actor.environment">Environment</a>
</h5>
<p>
@@ -304,7 +304,7 @@
such as local variables, etc.
</p>
<a name="phoenix.inside.actor.actions"></a><h5>
-<a name="id699859"></a>
+<a name="id822224"></a>
<a class="link" href="actor.html#phoenix.inside.actor.actions">Actions</a>
</h5>
<p>
@@ -343,7 +343,7 @@
on actions</a>.
</p>
<a name="phoenix.inside.actor.evaluation"></a><h5>
-<a name="id700143"></a>
+<a name="id822507"></a>
<a class="link" href="actor.html#phoenix.inside.actor.evaluation">Evaluation</a>
</h5>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">evaluator</span>
@@ -374,7 +374,7 @@
<span class="special">}</span>
</pre>
<a name="phoenix.inside.actor.result_of__actor"></a><h5>
-<a name="id700647"></a>
+<a name="id823014"></a>
<a class="link" href="actor.html#phoenix.inside.actor.result_of__actor">result_of::actor</a>
</h5>
<p>
Modified: branches/release/libs/phoenix/doc/html/phoenix/inside/expression.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/inside/expression.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/inside/expression.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -7,7 +7,7 @@
<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="actor.html" title="Actors in Detail">
-<link rel="next" href="expression/boost_phoenix_define_expression.html" title="BOOST_PHOENIX_DEFINE_EXPRESSION">
+<link rel="next" href="expression/boilerplate_macros.html" title="Boilerplate Macros">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,18 +20,14 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="actor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expression/boost_phoenix_define_expression.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="actor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expression/boilerplate_macros.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<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">Phoenix Expressions</a>
</h3></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION</span></dt>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</span></dt>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</span></dt>
-<dt><span class="section">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</span></dt>
-</dl></div>
+<div class="toc"><dl><dt><span class="section"><a href="expression/boilerplate_macros.html">Boilerplate
+ Macros</a></span></dt></dl></div>
<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">Actor</a> template. The <code class="computeroutput"><span class="identifier">actor</span></code>
@@ -162,7 +158,7 @@
</p></td></tr>
</table></div>
<a name="phoenix.inside.expression.meta_grammar"></a><h5>
-<a name="id702061"></a>
+<a name="id824426"></a>
<a class="link" href="expression.html#phoenix.inside.expression.meta_grammar">meta_grammar</a>
</h5>
<p>
@@ -190,7 +186,7 @@
you include this grammar gets extended by various expressions.
</p>
<a name="phoenix.inside.expression.example"></a><h5>
-<a name="id702291"></a>
+<a name="id824656"></a>
<a class="link" href="expression.html#phoenix.inside.expression.example">Example</a>
</h5>
<p>
@@ -260,12 +256,6 @@
<a class="link" href="actions.html" title="More on Actions">here</a>.
</p></td></tr>
</table></div>
-<p>
- When having more and more expressions, you start to realize that this is
- a very repetetive task. Phoenix provides boilerplate macros that make defining
- Phoenix Expressions as you have seen in the <a class="link" href="expression.html" title="Phoenix Expressions">previous
- section</a> look like a piece of cake.
- </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
@@ -277,7 +267,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="actor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expression/boost_phoenix_define_expression.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="actor.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inside.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="expression/boilerplate_macros.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -27,7 +27,7 @@
<a name="phoenix.inside.expression.boost_phoenix_define_expression"></a><a class="link" href="boost_phoenix_define_expression.html" title="BOOST_PHOENIX_DEFINE_EXPRESSION">BOOST_PHOENIX_DEFINE_EXPRESSION</a>
</h4></div></div></div>
<a name="phoenix.inside.expression.boost_phoenix_define_expression.description"></a><h6>
-<a name="id703113"></a>
+<a name="id623241"></a>
<a class="link" href="boost_phoenix_define_expression.html#phoenix.inside.expression.boost_phoenix_define_expression.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
create Phoenix Expressions
</p>
<a name="phoenix.inside.expression.boost_phoenix_define_expression.synopsis"></a><h6>
-<a name="id703147"></a>
+<a name="id623276"></a>
<a class="link" href="boost_phoenix_define_expression.html#phoenix.inside.expression.boost_phoenix_define_expression.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION</span><span class="special">(</span>
@@ -47,7 +47,7 @@
<span class="special">)</span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression.semantics"></a><h6>
-<a name="id703252"></a>
+<a name="id623381"></a>
<a class="link" href="boost_phoenix_define_expression.html#phoenix.inside.expression.boost_phoenix_define_expression.semantics">Semantics</a>
</h6>
<p>
@@ -95,13 +95,13 @@
This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special"><</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">></span></code>.
</p>
<a name="phoenix.inside.expression.boost_phoenix_define_expression.header"></a><h6>
-<a name="id703740"></a>
+<a name="id623869"></a>
<a class="link" href="boost_phoenix_define_expression.html#phoenix.inside.expression.boost_phoenix_define_expression.header">Header</a>
</h6>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression.example"></a><h6>
-<a name="id703822"></a>
+<a name="id623951"></a>
<a class="link" href="boost_phoenix_define_expression.html#phoenix.inside.expression.boost_phoenix_define_expression.example">Example</a>
</h6>
<p>
Modified: branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_ext.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_ext.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_ext.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -27,7 +27,7 @@
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext"></a><a class="link" href="boost_phoenix_define_expression_ext.html" title="BOOST_PHOENIX_DEFINE_EXPRESSION_EXT">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</a>
</h4></div></div></div>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext.description"></a><h6>
-<a name="id705054"></a>
+<a name="id625182"></a>
<a class="link" href="boost_phoenix_define_expression_ext.html#phoenix.inside.expression.boost_phoenix_define_expression_ext.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
create Phoenix Expressions
</p>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext.synopsis"></a><h6>
-<a name="id705088"></a>
+<a name="id625218"></a>
<a class="link" href="boost_phoenix_define_expression_ext.html#phoenix.inside.expression.boost_phoenix_define_expression_ext.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</span><span class="special">(</span>
@@ -50,7 +50,7 @@
<span class="special">)</span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext.semantics"></a><h6>
-<a name="id705229"></a>
+<a name="id625360"></a>
<a class="link" href="boost_phoenix_define_expression_ext.html#phoenix.inside.expression.boost_phoenix_define_expression_ext.semantics">Semantics</a>
</h6>
<p>
@@ -99,13 +99,13 @@
This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special"><</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">></span></code>.
</p>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext.header"></a><h6>
-<a name="id705729"></a>
+<a name="id625859"></a>
<a class="link" href="boost_phoenix_define_expression_ext.html#phoenix.inside.expression.boost_phoenix_define_expression_ext.header">Header</a>
</h6>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext.example"></a><h6>
-<a name="id705812"></a>
+<a name="id625942"></a>
<a class="link" href="boost_phoenix_define_expression_ext.html#phoenix.inside.expression.boost_phoenix_define_expression_ext.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</span><span class="special">(</span>
Modified: branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_ext_vararg.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_ext_vararg.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_ext_vararg.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -27,7 +27,7 @@
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg"></a><a class="link" href="boost_phoenix_define_expression_ext_vararg.html" title="BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</a>
</h4></div></div></div>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.description"></a><h6>
-<a name="id705973"></a>
+<a name="id626103"></a>
<a class="link" href="boost_phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
create Phoenix Expressions
</p>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.synopsis"></a><h6>
-<a name="id706009"></a>
+<a name="id626139"></a>
<a class="link" href="boost_phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</span><span class="special">(</span>
@@ -50,7 +50,7 @@
<span class="special">)</span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.semantics"></a><h6>
-<a name="id706151"></a>
+<a name="id626281"></a>
<a class="link" href="boost_phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.semantics">Semantics</a>
</h6>
<p>
@@ -99,13 +99,13 @@
<span class="special">}</span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.header"></a><h6>
-<a name="id706615"></a>
+<a name="id626746"></a>
<a class="link" href="boost_phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.header">Header</a>
</h6>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.example"></a><h6>
-<a name="id706698"></a>
+<a name="id626828"></a>
<a class="link" href="boost_phoenix_define_expression_ext_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_ext_vararg.example">Example</a>
</h6>
<p>
Modified: branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_vararg.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_vararg.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/inside/expression/boost_phoenix_define_expression_vararg.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -27,7 +27,7 @@
<a name="phoenix.inside.expression.boost_phoenix_define_expression_vararg"></a><a class="link" href="boost_phoenix_define_expression_vararg.html" title="BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</a>
</h4></div></div></div>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_vararg.description"></a><h6>
-<a name="id704170"></a>
+<a name="id624299"></a>
<a class="link" href="boost_phoenix_define_expression_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_vararg.description">Description</a>
</h6>
<p>
@@ -36,7 +36,7 @@
create Phoenix Expressions
</p>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_vararg.synopsis"></a><h6>
-<a name="id704206"></a>
+<a name="id624335"></a>
<a class="link" href="boost_phoenix_define_expression_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_vararg.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</span><span class="special">(</span>
@@ -49,7 +49,7 @@
<span class="special">)</span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_vararg.semantics"></a><h6>
-<a name="id704338"></a>
+<a name="id624466"></a>
<a class="link" href="boost_phoenix_define_expression_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_vararg.semantics">Semantics</a>
</h6>
<p>
@@ -97,13 +97,13 @@
<span class="special">}</span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_vararg.header"></a><h6>
-<a name="id704790"></a>
+<a name="id624918"></a>
<a class="link" href="boost_phoenix_define_expression_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_vararg.header">Header</a>
</h6>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
</pre>
<a name="phoenix.inside.expression.boost_phoenix_define_expression_vararg.example"></a><h6>
-<a name="id704873"></a>
+<a name="id625002"></a>
<a class="link" href="boost_phoenix_define_expression_vararg.html#phoenix.inside.expression.boost_phoenix_define_expression_vararg.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</span><span class="special">(</span>
Modified: branches/release/libs/phoenix/doc/html/phoenix/introduction.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/introduction.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/introduction.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -6,7 +6,7 @@
<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="prev" href="what_s_new/phoenix_3_0.html" title="Phoenix 3.0">
<link rel="next" href="starter_kit.html" title="Starter Kit">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="starter_kit.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="what_s_new/phoenix_3_0.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="starter_kit.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -64,7 +64,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="starter_kit.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="what_s_new/phoenix_3_0.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="starter_kit.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -35,6 +35,8 @@
<dt><span class="section">Nothing</span></dt>
</dl></dd>
<dt><span class="section">Function</span></dt>
+<dd><dl><dt><span class="section"><a href="modules/function/adapting_functions.html">Adapting
+ Functions</a></span></dt></dl></dd>
<dt><span class="section">Operator</span></dt>
<dt><span class="section">Statement</span></dt>
<dd><dl>
@@ -66,6 +68,8 @@
</dl></dd>
<dt><span class="section">Bind</span></dt>
<dd><dl>
+<dt><span class="section"><a href="modules/bind/binding_function_objects.html">Binding
+ Function Objects</a></span></dt>
<dt><span class="section">Binding Functions</span></dt>
<dt><span class="section"><a href="modules/bind/binding_member_functions.html">Binding
Member Functions</a></span></dt>
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/bind.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/bind.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/bind.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -7,7 +7,7 @@
<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">
+<link rel="next" href="bind/binding_function_objects.html" title="Binding Function Objects">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,13 +20,15 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="scope/lambda.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/binding_functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="scope/lambda.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/binding_function_objects.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<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>
<div class="toc"><dl>
+<dt><span class="section"><a href="bind/binding_function_objects.html">Binding
+ Function Objects</a></span></dt>
<dt><span class="section">Binding Functions</span></dt>
<dt><span class="section"><a href="bind/binding_member_functions.html">Binding
Member Functions</a></span></dt>
@@ -50,10 +52,10 @@
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
- Take note that binders are monomorphic. Rather than binding functions,
- the preferred way is to write true generic and polymorphic <a class="link" href="function.html" title="Function">lazy
- functions</a>. However, since most of the time we are dealing with adaptation
- of existing code, binders get the job done faster.
+ Take note that binding functions, member functions or member variables
+ is monomorphic. Rather than binding functions, the preferred way is to
+ write true generic and polymorphic <a class="link" href="function.html" title="Function">lazy
+ functions</a>.
</p></td></tr>
</table></div>
<p>
@@ -72,7 +74,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="scope/lambda.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/binding_functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="scope/lambda.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bind/binding_function_objects.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -6,7 +6,7 @@
<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="prev" href="binding_function_objects.html" title="Binding Function Objects">
<link rel="next" href="binding_member_functions.html" title="Binding Member Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,13 +20,13 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../bind.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binding_member_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="binding_function_objects.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binding_member_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<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>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
</pre>
<p>
Example, given a function <code class="computeroutput"><span class="identifier">foo</span></code>:
@@ -63,7 +63,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="../bind.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binding_member_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="binding_function_objects.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../bind.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="binding_member_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -27,7 +27,7 @@
<a name="phoenix.modules.bind.binding_member_functions"></a><a class="link" href="binding_member_functions.html" title="Binding Member Functions">Binding
Member Functions</a>
</h4></div></div></div>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_member_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
</pre>
<p>
Binding member functions can be done similarly. A bound member function
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -27,7 +27,7 @@
<a name="phoenix.modules.bind.binding_member_variables"></a><a class="link" href="binding_member_variables.html" title="Binding Member Variables">Binding
Member Variables</a>
</h4></div></div></div>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_member_variable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
</pre>
<p>
Member variables can also be bound much like member functions. Member variables
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/core/arguments.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/core/arguments.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/core/arguments.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -38,7 +38,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="id671864"></a>
+<a name="id790470"></a>
<a class="link" href="arguments.html#phoenix.modules.core.arguments.predefined_arguments">Predefined
Arguments</a>
</h6>
@@ -82,7 +82,7 @@
</p></td></tr>
</table></div>
<a name="phoenix.modules.core.arguments.user_defined_arguments"></a><h6>
-<a name="id672389"></a>
+<a name="id790995"></a>
<a class="link" href="arguments.html#phoenix.modules.core.arguments.user_defined_arguments">User
Defined Arguments</a>
</h6>
@@ -104,7 +104,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="id672540"></a>
+<a name="id791146"></a>
<a class="link" href="arguments.html#phoenix.modules.core.arguments.evaluating_an_argument">Evaluating
an Argument</a>
</h6>
@@ -131,7 +131,7 @@
<span class="identifier">Hello</span> <span class="identifier">World</span>
</pre>
<a name="phoenix.modules.core.arguments.extra_arguments"></a><h6>
-<a name="id672837"></a>
+<a name="id791443"></a>
<a class="link" href="arguments.html#phoenix.modules.core.arguments.extra_arguments">Extra Arguments</a>
</h6>
<p>
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/core/references.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/core/references.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/core/references.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -66,7 +66,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="id671461"></a>
+<a name="id790067"></a>
<a class="link" href="references.html#phoenix.modules.core.references.evaluating_a_reference">Evaluating
a Reference</a>
</h6>
@@ -82,7 +82,7 @@
prints out "3 Hello World"
</p>
<a name="phoenix.modules.core.references.constant_references"></a><h6>
-<a name="id671598"></a>
+<a name="id790204"></a>
<a class="link" href="references.html#phoenix.modules.core.references.constant_references">Constant
References</a>
</h6>
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/core/values.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/core/values.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/core/values.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -54,7 +54,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="id670980"></a>
+<a name="id789586"></a>
<a class="link" href="values.html#phoenix.modules.core.values.evaluating_a_value">Evaluating
a Value</a>
</h3>
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/function.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/function.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/function.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -7,7 +7,7 @@
<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">
+<link rel="next" href="function/adapting_functions.html" title="Adapting Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,14 +20,14 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="core/nothing.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="core/nothing.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function/adapting_functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<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>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
-</pre>
+<div class="toc"><dl><dt><span class="section"><a href="function/adapting_functions.html">Adapting
+ Functions</a></span></dt></dl></div>
<p>
The <code class="computeroutput"><span class="identifier">function</span></code> class template
provides a mechanism for implementing lazily evaluated functions. Syntactically,
@@ -35,6 +35,8 @@
looks familiar and feels the same as ordinary C++ functions. However, unlike
ordinary functions, the actual function execution is deferred.
</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
+</pre>
<p>
Unlike ordinary function pointers or functor objects that need to be explicitly
bound through the bind function (see <a class="link" href="bind.html" title="Bind">Bind</a>),
@@ -142,7 +144,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="core/nothing.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="core/nothing.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="function/adapting_functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/operator.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/operator.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/operator.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -6,7 +6,7 @@
<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="prev" href="function/adapting_functions.html" title="Adapting Functions">
<link rel="next" href="statement.html" title="Statement">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="statement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="function/adapting_functions.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="statement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
@@ -141,18 +141,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="id675204"></a>
+<a name="id797479"></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="id675223"></a>
+<a name="id797499"></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="id675354"></a>
+<a name="id797630"></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>
@@ -161,7 +161,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="id675555"></a>
+<a name="id797830"></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>
@@ -174,7 +174,7 @@
albeit in a lazy manner.
</p>
<a name="phoenix.modules.operator.member_pointer_operator"></a><h5>
-<a name="id675656"></a>
+<a name="id797932"></a>
<a class="link" href="operator.html#phoenix.modules.operator.member_pointer_operator">Member pointer
operator</a>
</h5>
@@ -215,7 +215,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="id676037"></a>
+<a name="id798312"></a>
<a class="link" href="operator.html#phoenix.modules.operator.include_files">Include Files</a>
</h5>
<div class="informaltable"><table class="table">
@@ -357,7 +357,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
-<a accesskey="p" href="function.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="statement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="function/adapting_functions.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../modules.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="statement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
Modified: branches/release/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -80,7 +80,7 @@
</p>
</div>
<div class="table">
-<a name="id689927"></a><p class="title"><b>Table 1.6. Iteration Algorithms</b></p>
+<a name="id812292"></a><p class="title"><b>Table 1.6. Iteration Algorithms</b></p>
<div class="table-contents"><table class="table" summary="Iteration Algorithms">
<colgroup>
<col>
@@ -103,7 +103,7 @@
<td>
<p>
<code class="computeroutput"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
- <span class="identifier">c</span><span class="special">)</span></code>
+ <span class="identifier">f</span><span class="special">)</span></code>
</p>
</td>
<td>
@@ -135,7 +135,7 @@
</table></div>
</div>
<br class="table-break"><div class="table">
-<a name="id690205"></a><p class="title"><b>Table 1.7. Querying Algorithms</b></p>
+<a name="id812571"></a><p class="title"><b>Table 1.7. Querying Algorithms</b></p>
<div class="table-contents"><table class="table" summary="Querying Algorithms">
<colgroup>
<col>
@@ -448,7 +448,7 @@
</table></div>
</div>
<br class="table-break"><div class="table">
-<a name="id692677"></a><p class="title"><b>Table 1.8. Transformation Algorithms</b></p>
+<a name="id815043"></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: branches/release/libs/phoenix/doc/html/phoenix/modules/stl/container.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/modules/stl/container.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/modules/stl/container.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -144,7 +144,7 @@
does not use the member "dot" syntax.
</p>
<div class="table">
-<a name="id686875"></a><p class="title"><b>Table 1.4. Sample usage</b></p>
+<a name="id809241"></a><p class="title"><b>Table 1.4. Sample usage</b></p>
<div class="table-contents"><table class="table" summary="Sample usage">
<colgroup>
<col>
@@ -222,7 +222,7 @@
</p>
</div>
<div class="table">
-<a name="id687215"></a><p class="title"><b>Table 1.5. Lazy STL Container Functions</b></p>
+<a name="id809581"></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: branches/release/libs/phoenix/doc/html/phoenix/organization.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/organization.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/organization.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -59,7 +59,7 @@
files. There are no object files to link against.
</p>
<a name="phoenix.organization.core"></a><h3>
-<a name="id669310"></a>
+<a name="id787916"></a>
<a class="link" href="organization.html#phoenix.organization.core">Core</a>
</h3>
<p>
@@ -79,7 +79,7 @@
can again be another expression.
</p>
<div class="table">
-<a name="id669348"></a><p class="title"><b>Table 1.2. Modules</b></p>
+<a name="id787954"></a><p class="title"><b>Table 1.2. Modules</b></p>
<div class="table-contents"><table class="table" summary="Modules">
<colgroup>
<col>
@@ -207,7 +207,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="id669636"></a><p class="title"><b>Table 1.3. Includes</b></p>
+<a name="id788242"></a><p class="title"><b>Table 1.3. Includes</b></p>
<div class="table-contents"><table class="table" summary="Includes">
<colgroup>
<col>
Modified: branches/release/libs/phoenix/doc/html/phoenix/starter_kit.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/starter_kit.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/starter_kit.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -59,7 +59,7 @@
into high gear quickly.
</p>
<a name="phoenix.starter_kit.functors_everywhere"></a><h4>
-<a name="id664526"></a>
+<a name="id741655"></a>
<a class="link" href="starter_kit.html#phoenix.starter_kit.functors_everywhere">Functors everywhere</a>
</h4>
<p>
Modified: branches/release/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -52,7 +52,7 @@
<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="id667330"></a>
+<a name="id785936"></a>
<a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.things_to_note_">Things
to note:</a>
</h5>
@@ -82,7 +82,7 @@
(See function.cpp)
</p>
<a name="phoenix.starter_kit.lazy_functions.predefined_lazy_functions"></a><h5>
-<a name="id667508"></a>
+<a name="id786114"></a>
<a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.predefined_lazy_functions">Predefined
Lazy Functions</a>
</h5>
Modified: branches/release/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -76,7 +76,7 @@
</p>
</div>
<a name="phoenix.starter_kit.lazy_operators.first_practical_example"></a><h5>
-<a name="id666257"></a>
+<a name="id784863"></a>
<a class="link" href="lazy_operators.html#phoenix.starter_kit.lazy_operators.first_practical_example">First
Practical Example</a>
</h5>
Modified: branches/release/libs/phoenix/doc/html/phoenix/starter_kit/values.html
==============================================================================
--- branches/release/libs/phoenix/doc/html/phoenix/starter_kit/values.html (original)
+++ branches/release/libs/phoenix/doc/html/phoenix/starter_kit/values.html 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -39,7 +39,7 @@
World"</span></code>.
</p>
<a name="phoenix.starter_kit.values.lazy_evaluation"></a><h5>
-<a name="id664690"></a>
+<a name="id783296"></a>
<a class="link" href="values.html#phoenix.starter_kit.values.lazy_evaluation">Lazy Evaluation</a>
</h5>
<p>
@@ -71,7 +71,7 @@
anything and defers the evaluation for later.
</p>
<a name="phoenix.starter_kit.values.callbacks"></a><h5>
-<a name="id664915"></a>
+<a name="id783521"></a>
<a class="link" href="values.html#phoenix.starter_kit.values.callbacks">Callbacks</a>
</h5>
<p>
Modified: branches/release/libs/phoenix/doc/inside/expression.qbk
==============================================================================
--- branches/release/libs/phoenix/doc/inside/expression.qbk (original)
+++ branches/release/libs/phoenix/doc/inside/expression.qbk 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -131,7 +131,7 @@
[link phoenix.inside.actions here].
]
-[/section Boilerplate Macros]
+[section Boilerplate Macros]
When having more and more expressions, you start to realize that this is a very
repetetive task. Phoenix provides boilerplate macros that make defining Phoenix
@@ -458,3 +458,5 @@
[endsect]
[endsect]
+
+[endsect]
Modified: branches/release/libs/phoenix/doc/modules/bind.qbk
==============================================================================
--- branches/release/libs/phoenix/doc/modules/bind.qbk (original)
+++ branches/release/libs/phoenix/doc/modules/bind.qbk 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -16,17 +16,30 @@
plain function, member function or member variable to a lambda expression, `bind`
is your friend.
-[note Take note that binders are monomorphic. Rather than binding
-functions, the preferred way is to write true generic and polymorphic [link
-phoenix.modules.function lazy functions]. However, since most of the time we
-are dealing with adaptation of existing code, binders get the job done faster.]
+[note Take note that binding functions, member functions or member variables is
+monomorphic. Rather than binding functions, the preferred way is to write true
+generic and polymorphic [link phoenix.modules.function lazy functions].]
There is a set of overloaded `bind` template functions. Each `bind(x)`
function generates a suitable binder object.
+[section Binding Function Objects]
+
+ #include <boost/phoenix/bind/bind_function_object.hpp>
+
+Binding function objects serves two purposes:
+* Partial function application
+* Quick adaption of already existing function objects
+
+In order to deduce the return type of the function object, it has to implement
+the __boost_result_of__ protocol. If the bound function object is polymorphic,
+the resulting binding object is polymorphic.
+
+[endsect]
+
[section Binding Functions]
- #include <boost/phoenix/bind/bind.hpp>
+ #include <boost/phoenix/bind/bind_function.hpp>
Example, given a function `foo`:
@@ -50,7 +63,7 @@
[endsect]
[section Binding Member Functions]
- #include <boost/phoenix/bind/bind.hpp>
+ #include <boost/phoenix/bind/bind_member_function.hpp>
Binding member functions can be done similarly. A bound member function takes in
a pointer or reference to an object as the first argument. For instance, given:
@@ -76,7 +89,7 @@
[endsect]
[section Binding Member Variables]
- #include <boost/phoenix/bind/bind.hpp>
+ #include <boost/phoenix/bind/bind_member_variable.hpp>
Member variables can also be bound much like member functions. Member variables
are not functions. Yet, like the [link phoenix.modules.core.references `ref(x)`] that
Modified: branches/release/libs/phoenix/doc/modules/function.qbk
==============================================================================
--- branches/release/libs/phoenix/doc/modules/function.qbk (original)
+++ branches/release/libs/phoenix/doc/modules/function.qbk 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -9,14 +9,14 @@
[section Function]
- #include <boost/phoenix/function.hpp>
-
The `function` class template provides a mechanism for implementing lazily
evaluated functions. Syntactically, a lazy function looks like an ordinary C/C++
function. The function call looks familiar and feels the same as ordinary C++
functions. However, unlike ordinary functions, the actual function execution is
deferred.
+ #include <boost/phoenix/function.hpp>
+
Unlike ordinary function pointers or functor objects that need to be explicitly
bound through the bind function (see [link phoenix.modules.bind Bind]),
the argument types of these functions are automatically lazily bound.
@@ -93,4 +93,310 @@
often copied repeatedly, and state may change in one of the copies, rather than the
original.]
+[section Adapting Functions]
+
+If you want to adapt already existing functions or function objects it will become
+a repetetive task. Therefor the following boilerplate macros are provided to help
+you adapt already exsiting functions, thus reducing the need to
+[link phoenix.modules.bind] functions.
+
+[section BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY]
+
+[heading Description]
+`BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY` is a macro that can be used to generate
+all the necessary boilerplate to make an arbitrary nullary function a lazy
+function.
+
+[note These macros generate no global objects. The resulting lazy functions are real functions
+ that create the lazy function expression object]
+
+[heading Synopsis]
+
+ BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY(
+ RETURN_TYPE
+ , LAZY_FUNCTION
+ , FUNCTION
+ )
+
+[heading Semantics]
+
+The above macro generates all necessary code to have a nullary lazy function
+`LAZY_FUNCTION` which calls the nullary `FUNCTION` that has the return type
+`RETURN_TYPE`
+
+[heading Header]
+
+ #include <boost/phoenix/function/adapt_function.hpp>
+
+[heading Example]
+
+ namespace demo
+ {
+ int foo()
+ {
+ return 42;
+ }
+ }
+
+ BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY(int, foo, demo::foo)
+
+ int main()
+ {
+ using boost::phoenix::placeholders::_1;
+
+ assert((_1 + foo())(1) == 43);
+ }
+
+[endsect]
+
+[section BOOST_PHOENIX_ADAPT_FUNCTION]
+
+[heading Description]
+`BOOST_PHOENIX_ADAPT_FUNCTION` is a macro that can be used to generate
+all the necessary boilerplate to make an arbitrary function a lazy function.
+
+[heading Synopsis]
+
+ BOOST_PHOENIX_ADAPT_FUNCTION(
+ RETURN_TYPE
+ , LAZY_FUNCTION
+ , FUNCTION
+ , FUNCTION_ARITY
+ )
+
+[heading Semantics]
+
+The above macro generates all necessary code to have a lazy function
+`LAZY_FUNCTION` which calls `FUNCTION` that has the return type
+`RETURN_TYPE` with `FUNCTION_ARITY` number of arguments.
+
+[heading Header]
+
+ #include <boost/phoenix/function/adapt_function.hpp>
+
+[heading Example]
+
+ namespace demo
+ {
+ int plus(int a, int b)
+ {
+ return a + b;
+ }
+
+ template <typename T>
+ T
+ plus(T a, T b, T c)
+ {
+ return a + b + c;
+ }
+ }
+
+ BOOST_PHOENIX_ADAPT_FUNCTION(int, plus, demo::plus, 2)
+
+ BOOST_PHOENIX_ADAPT_FUNCTION(
+ typename remove_reference<A0>::type
+ , plus
+ , demo::plus
+ , 3
+ )
+
+ int main()
+ {
+ using boost::phoenix::arg_names::arg1;
+ using boost::phoenix::arg_names::arg2;
+
+ int a = 123;
+ int b = 256;
+
+ assert(plus(arg1, arg2)(a, b) == a+b);
+ assert(plus(arg1, arg2, 3)(a, b) == a+b+3);
+ }
+
+[endsect]
+
+[/
+
+[section BOOST_PHOENIX_ADAPT_FUNCTION_VARARG]
+
+[heading Description]
+`BOOST_PHOENIX_ADAPT_FUNCTION_VARARG` is a macro that can be used to generate
+all the necessary boilerplate to make an arbitrary function a lazy
+function.
+
+[heading Synopsis]
+
+ BOOST_PHOENIX_ADAPT_FUNCTION_VARARG(
+ RETURN_TYPE
+ , LAZY_FUNCTION
+ , FUNCTION
+ )
+
+[heading Semantics]
+
+[heading Header]
+
+ #include <boost/phoenix/function/adapt_function.hpp>
+
+[heading Example]
+
+[endsect]
+]
+
+[section BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY]
+
+[heading Description]
+`BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY` is a macro that can be used to generate
+all the necessary boilerplate to make an arbitrary nullary function object a
+lazy function.
+
+[heading Synopsis]
+
+ BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY(
+ LAZY_FUNCTION
+ , CALLABLE
+ )
+
+[heading Semantics]
+
+The above macro generates all necessary code to create `LAZY_FUNCTION` which
+creates a lazy function object that represents a nullary call to `CALLABLE`.
+The return type is specified by `CALLABLE` conforming to the __boost_result_of__
+protocol.
+
+[heading Header]
+
+ #include <boost/phoenix/function/adapt_callable.hpp>
+
+[heading Example]
+
+ namespace demo
+ {
+ struct foo
+ {
+ typedef int result_type;
+
+ result_type operator()() const
+ {
+ return 42;
+ }
+ }
+ }
+
+ BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY(foo, demo::foo)
+
+ int main()
+ {
+ using boost::phoenix::placeholders::_1;
+
+ assert((_1 + foo())(1) == 43);
+ }
+
+[endsect]
+
+[section BOOST_PHOENIX_ADAPT_CALLABLE]
+
+[heading Description]
+`BOOST_PHOENIX_ADAPT_CALLABLE` is a macro that can be used to generate
+all the necessary boilerplate to make an arbitrary function object a lazy
+function.
+
+[heading Synopsis]
+
+ BOOST_PHOENIX_ADAPT_CALLABLE(
+ LAZY_FUNCTION
+ , FUNCTION_NAME
+ , FUNCTION_ARITY
+ )
+
+[heading Semantics]
+
+The above macro generates all necessary code to create `LAZY_FUNCTION` which
+creates a lazy function object that represents a call to `CALLABLE` with `FUNCTION_ARITY`
+arguments.
+The return type is specified by `CALLABLE` conforming to the __boost_result_of__
+protocol.
+
+[heading Header]
+
+ #include <boost/phoenix/function/adapt_callable.hpp>
+
+[heading Example]
+
+ namespace demo
+ {
+ struct plus
+ {
+ template <typename Sig>
+ struct result;
+
+ template <typename This, typename A0, typename A1>
+ struct result<This(A0, A1)>
+ : remove_reference<A0>
+ {};
+
+ template <typename This, typename A0, typename A1, typename A2>
+ struct result<This(A0, A1, A2)>
+ : remove_reference<A0>
+ {};
+
+ template <typename A0, typename A1>
+ A0 operator()(A0 const & a0, A1 const & a1) const
+ {
+ return a0 + a1;
+ }
+
+ template <typename A0, typename A1, typename A2>
+ A0 operator()(A0 const & a0, A1 const & a1, A2 const & a2) const
+ {
+ return a0 + a1 + a2;
+ }
+ };
+ }
+
+ BOOST_PHOENIX_ADAPT_CALLABLE(plus, demo::plus, 2)
+
+ BOOST_PHOENIX_ADAPT_CALLABLE(plus, demo::plus, 3)
+
+ int main()
+ {
+ using boost::phoenix::arg_names::arg1;
+ using boost::phoenix::arg_names::arg2;
+
+ int a = 123;
+ int b = 256;
+
+ assert(plus(arg1, arg2)(a, b) == a+b);
+ assert(plus(arg1, arg2, 3)(a, b) == a+b+3);
+ }
+
+[endsect]
+
+[/
+[section BOOST_PHOENIX_ADAPT_CALLABLE_VARARG]
+
+[heading Description]
+`BOOST_PHOENIX_ADAPT_CALLABLE_VARARG` is a macro that can be used to generate
+all the necessary boilerplate to make an arbitrary function object a lazy
+function.
+
+[heading Synopsis]
+
+ BOOST_PHOENIX_ADAPT_CALLABLE_VARARG(
+ LAZY_FUNCTION_NAME
+ , FUNCTION_NAME
+ )
+
+[heading Semantics]
+
+[heading Header]
+
+ #include <boost/phoenix/function/adapt_callable.hpp>
+
+[heading Example]
+
+[endsect]
+/]
+
+[endsect]
+
[endsect]
Modified: branches/release/libs/phoenix/doc/phoenix3.qbk
==============================================================================
--- branches/release/libs/phoenix/doc/phoenix3.qbk (original)
+++ branches/release/libs/phoenix/doc/phoenix3.qbk 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -56,6 +56,7 @@
[def __unspecified__ /unspecified/]
[include preface.qbk]
+[include what_s_new.qbk]
[include introduction.qbk]
[include starter_kit.qbk]
[include basics.qbk]
Modified: branches/release/libs/phoenix/example/function.cpp
==============================================================================
--- branches/release/libs/phoenix/example/function.cpp (original)
+++ branches/release/libs/phoenix/example/function.cpp 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -14,11 +14,7 @@
struct is_odd_
{
- template <typename Arg>
- struct result
- {
- typedef bool type;
- };
+ typedef bool result_type;
template <typename Arg>
bool operator()(Arg arg1) const
Modified: branches/release/libs/phoenix/preprocess/wave.cfg
==============================================================================
--- branches/release/libs/phoenix/preprocess/wave.cfg (original)
+++ branches/release/libs/phoenix/preprocess/wave.cfg 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -1,9 +1,9 @@
-DBOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
-DBOOST_PHOENIX_CREATE_PREPROCESSED_FILES
-S/home/thomas/programming/boost
--S/usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.2/include
--S/usr/include/c++/4.5.2
--S/usr/include/c++/4.5.2/x86_64-unknown-linux-gnu
+-S/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/include
+-S/usr/include/c++/4.6.0
+-S/usr/include/c++/4.6.0/x86_64-unknown-linux-gnu
-S/usr/include
--variadics
--long_long
Modified: branches/release/libs/phoenix/test/Jamfile
==============================================================================
--- branches/release/libs/phoenix/test/Jamfile (original)
+++ branches/release/libs/phoenix/test/Jamfile 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -35,12 +35,15 @@
;
test-suite phoenix_function :
+ [ run function/adapt_function.cpp ]
[ run function/function_tests.cpp ]
+# [ run function/function_tests_phx2.cpp ]
;
test-suite phoenix_bind :
[ run bind/bind_function_tests.cpp ]
[ run bind/bind_function_object_tests.cpp ]
+# [ run bind/bind_function_object_tests_phx2.cpp ]
[ run bind/bind_member_function_tests.cpp ]
[ run bind/bind_member_variable_tests.cpp ]
;
@@ -69,6 +72,7 @@
test-suite phoenix_scope :
[ run scope/lambda_tests.cpp ]
+# [ run scope/lambda_tests_phx2.cpp ]
[ run scope/let_tests.cpp ]
[ run scope/dynamic_tests.cpp ]
[ run scope/bug3289.cpp ]
@@ -122,7 +126,7 @@
[ run include/scope.cpp ]
[ run include/statement.cpp ]
[ run include/stl.cpp ]
- [ run include/bind/bind.cpp : : : : bind_bind ]
+# [ run include/bind/bind.cpp : : : : bind_bind ]
[ run include/version.cpp ]
[ run include/core/actor.cpp ]
[ run include/core/argument.cpp ]
Modified: branches/release/libs/phoenix/test/bind/bind_member_variable_tests.cpp
==============================================================================
--- branches/release/libs/phoenix/test/bind/bind_member_variable_tests.cpp (original)
+++ branches/release/libs/phoenix/test/bind/bind_member_variable_tests.cpp 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -95,9 +95,7 @@
int
main()
{
- //write_test<test::x>(identity());
write_test<test::x>(add_pointer());
- //write_test<test::xx>(identity());
write_test<test::xx>(add_pointer());
read_test<test::x>(identity());
Modified: branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stateful_test.cpp
==============================================================================
--- branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stateful_test.cpp (original)
+++ branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stateful_test.cpp 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -146,6 +146,8 @@
return state_ += x1+x2+x3+x4+x5+x6+x7+x8;
}
+template <typename> struct wrap {};
+
template<class F> void test(F f, int a, int b)
{
BOOST_TEST( f() == a + b );
Modified: branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stdcall_mf_test.cpp
==============================================================================
--- branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stdcall_mf_test.cpp (original)
+++ branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stdcall_mf_test.cpp 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -78,7 +78,6 @@
std::cout << typeid(typename boost::result_of<X::f0()>::type).name() << "\n";
- /*
bind(&X::f0, &x)();
bind(&X::f0, ref(x))();
@@ -159,7 +158,6 @@
bind(&X::g8, ref(x), 1, 2, 3, 4, 5, 6, 7, 8)();
BOOST_TEST( x.hash == 23558 );
- */
}
int main()
Modified: branches/release/libs/phoenix/test/operator/member.cpp
==============================================================================
--- branches/release/libs/phoenix/test/operator/member.cpp (original)
+++ branches/release/libs/phoenix/test/operator/member.cpp 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -43,11 +43,15 @@
Test* ptr = &test;
BOOST_TEST((val(ptr)->*&Test::value)() == 1);
- //BOOST_TEST((val(cptr)->*&Test::value)() == 1);
- //BOOST_TEST((arg1->*&Test::value)(cptr) == 1);
-
- //((val(ptr)->*&Test::value) = 2)();
- //BOOST_TEST(test.value == 2);
+ /*
+ BOOST_TEST((val(cptr)->*&Test::value)() == 1);
+ BOOST_TEST((arg1->*&Test::value)(cptr) == 1);
+ */
+
+ /*
+ ((val(ptr)->*&Test::value) = 2)();
+ BOOST_TEST(test.value == 2);
+ */
BOOST_TEST((val(ptr)->*&Test::func)(3)() == 3);
@@ -89,5 +93,5 @@
//BOOST_TEST((arg1->*&Test::value)(captr) == 2);
BOOST_TEST((arg1->*&Test::func)(11)(captr) == 11);
- return 0;
+ return boost::report_errors();
}
Modified: branches/release/libs/phoenix/test/scope/this.cpp
==============================================================================
--- branches/release/libs/phoenix/test/scope/this.cpp (original)
+++ branches/release/libs/phoenix/test/scope/this.cpp 2011-04-14 10:20:14 EDT (Thu, 14 Apr 2011)
@@ -10,6 +10,8 @@
#include <boost/phoenix/operator.hpp>
#include <boost/phoenix/scope.hpp>
+#include <iostream>
+
template <typename T0>
void f(T0 t)
{
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